Metode 1
Salah satu cara saya menangani masalah ini pada sistem Windows Server yang kritis dalam satu lingkungan yang saya pelihara adalah dengan skrip batch yang menggunakan Set-NetConnectionProfile dan netsh , dan secara eksplisit mengatur setiap NIC / adaptor tepercaya pada mesin menjadi pribadi pada startup sistem dengan Penjadwal Tugas menggunakan Run whether user is logged on or not
dan Run with highest privileges
opsi.
Catatan: Walaupun bounty note menyatakan " Solusi tidak boleh menyebabkan hilangnya konektivitas jaringan untuk diterapkan " Saya ingin menyebutkan bahwa sejak saat masalah ini terjadi, Anda tetap memiliki gangguan jaringan, yang menjalankan skrip ini jika masalah terjadi secara acak ketika sistem tidak reboot yang hanya menjalankan skrip yang sama ini maka masih akan dengan cepat menyelesaikan masalah dan mendapatkan akses jaringan mesin OS kembali dalam urutan kerja dan yang diharapkan.
Selanjutnya, Anda dapat menggunakan Get-NetConnectionProfile untuk mendapatkan nama alias NIC dan nomor indeks untuk dimasukkan ke dalam contoh skrip kumpulan di bawah ini untuk kebutuhan dan / atau sistem Anda.
Skrip Batch
@ECHO ON
::: The below PowerShell will set all the nework adapters to private rather than public and unknown as happens.
:DynamicPSScriptBuild
SET PSScript=%temp%\%~n0.ps1
IF EXIST "%PSScript%" DEL /Q /F "%PSScript%"
ECHO Set-NetConnectionProfile -InterfaceIndex 12 -NetworkCategory Private>>"%PSScript%"
ECHO Set-NetConnectionProfile -InterfaceIndex 20 -NetworkCategory Private>>"%PSScript%"
ECHO Set-NetConnectionProfile -InterfaceIndex 22 -NetworkCategory Private>>"%PSScript%"
ECHO Set-NetConnectionProfile -InterfaceIndex 24 -NetworkCategory Private>>"%PSScript%"
:PowerShell
SET PowerShellDir=C:\Windows\System32\WindowsPowerShell\v1.0
CD /D "%PowerShellDir%"
Powershell -ExecutionPolicy Bypass -Command "& '%PSScript%'"
:: The below will disable and then re-enable each NIC one-by-one so the unidentfied goes away after set to "private" above
:ResetNICs
SET Array="Ethernet", "Ethernet 2", "Ethernet 3", "Ethernet 4"
FOR %%A IN (%Array%) DO (
netsh int set int "%%~A" admin=disable
netsh int set int "%%~A" admin=enable
)
EXIT
Berikut adalah beberapa metode lain, dengan salah satu dari sekian banyak yang Anda coba tetapi saya meninggalkannya di sana untuk orang lain yang menemukan posting ini jika itu membantu mereka, tetapi ini adalah beberapa cara untuk mencegah hal ini sepenuhnya mungkin tetapi ada selalu akan menjadi kerugian dan kerugian untuk metode apa pun yang Anda pilih untuk digunakan jadi pilih racun Anda dan uji sesuai.
Metode 2 (Banyak Metode)
Jika NLA tidak dapat menentukan lokasi koneksi, itu menamakannya "Tidak dikenal" dan menandai lokasi sebagai Publik. Ini memilih Publik karena itu yang paling aman dan Anda tidak akan menginginkan yang kurang jika koneksi ada di DMZ.
Ada dua cara mudah untuk memperbaikinya. Seseorang menggunakan Kebijakan Keamanan Lokal untuk mengubah lokasi default jaringan yang tidak dikenal. Metode kedua menggunakan perubahan ke properti koneksi jaringan untuk memberikan NLA informasi yang diperlukan untuk menempatkan lokasi dengan benar.
Menggunakan Kebijakan Keamanan Lokal
Perhatian: Ini hanya boleh digunakan jika komputer tidak akan pernah memiliki koneksi di LAN Publik. Jika tidak, Anda berisiko menerapkan profil firewall yang kurang aman untuk koneksi publik Anda.
Buka " Kebijakan Keamanan Lokal ".
Klik " Kebijakan Manajer Daftar Jaringan " di panel kiri. (Pilihan ini dimakamkan di versi Windows yang lebih lama.)
Klik dua kali pada " Jaringan Tidak Dikenal " di panel kanan.
Untuk komputer yang hanya ada di jaringan pribadi, tidak apa-apa untuk mengatur " Tipe lokasi " menjadi " pribadi ".
Menggunakan Properti Koneksi Jaringan
Ini bukan tentang menambahkan IP gateway karena itu tidak berfungsi dengan baik pada server multi-homed. Sebagai gantinya, kami akan menambahkan akhiran DNS sehingga NLA dapat menemukan pengontrol domain dengan benar yang diketahui menandai lokasi sebagai "Jaringan domain".
Buka Network Connections (dari Network and Sharing Center, klik "Ubah pengaturan adaptor".)
Pergi ke properti dari satu koneksi jaringan yang ditandai sebagai "Tidak Diidentifikasi " tetapi pada LAN pribadi.
Pergi ke properti untuk IPv4 .
Klik tombol " Lanjutan ...".
Pilih tab DNS .
Masukkan nama domain Anda ke dalam kotak teks untuk " akhiran DNS untuk koneksi ini: ".
Nonaktifkan dan kemudian aktifkan koneksi untuk membuat NLA mengidentifikasi kembali lokasi. Setelah mengaktifkan koneksi, Status harus berubah ke nama domain dan Kategori Jaringan menjadi "Jaringan domain". Bergantung pada pengaturan Anda, kemungkinan Anda hanya perlu "memperbaiki" satu koneksi untuk mendapatkan semua koneksi terkait untuk melihat domain.
Pindah dari Pribadi ke Publik
Ada dua cara umum untuk memaksa NLA untuk menandai koneksi sebagai publik. Salah satunya adalah menggunakan aturan firewall untuk memblokir NLA sehingga tidak punya pilihan selain menggunakan lokasi default. Yang lainnya adalah menggunakan registri untuk menonaktifkan NLA pada koneksi.
Menggunakan Firewall
Saya belum menguji ini tetapi teorinya tampaknya baik.
Buka " Windows Firewall dengan Keamanan Lanjutan " (yaitu wf.msc
).
Buka Aturan keluar .
Klik pada " Aturan Baru ...".
Gunakan pengaturan ini:
- Tipe Aturan: Kustom
- Program: Pilih "Semua program" dan kemudian klik "Kustomisasi ...". Pilih "Kesadaran Lokasi Jaringan" (nama pendeknya adalah NlaSvc).
- Protokol dan Pelabuhan: Jenis protokol = Apa saja.
- Cakupan: IP Lokal = Masukkan semua IP publik Anda. Periksa kembali koneksi dengan beberapa IP.
- Tindakan: Blokir
- Profil: Semua
Setelah aturan diaktifkan, nonaktifkan dan kemudian aktifkan koneksi jaringan agar NLA mengidentifikasi kembali lokasi.
Menggunakan Registry
Saya belum memiliki pekerjaan ini untuk saya tetapi keadaan saya mungkin berbeda dari Anda. Menemukan nomor koneksi yang benar agak sedikit hit atau miss karena ada lebih banyak entri daripada yang Anda harapkan.
Jalankan regedit
Pergi ke HKLM\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}
Di bawahnya Anda akan melihat beberapa kunci berlabel 0000, 0001, 0002 dll ... Lihat ini dan temukan adaptor di mana Anda ingin menonaktifkan NLA.
Untuk masing-masing adapter, tambahkan nilai DWORD baru bernama "* NdisDeviceType" dan setel ke 1 (pastikan Anda mendapatkan * di awal nama).
Menjadi Drastis
Profil lokasi disimpan dalam registri dan tampaknya tidak berbahaya untuk menghapusnya dan membiarkan Windows membangunnya kembali. Anda pasti ingin membuat cadangan registri terlebih dahulu dan Anda mungkin harus terhubung ke server melalui KVM daripada remote (RDP). Saya tidak akan bertanggung jawab jika Anda memilih langkah ini karena saya terutama meletakkan ini di sini untuk referensi.
Lokasi profil adalah:
HKLM\Software\Microsoft\Windows NT\CurrentVersion\NetworkList\Profiles
sumber