Powershell
Windows 8.1 Hyper-V 網路適配器設置為公共且不會另存為專用
我有一組執行 Hyper-V 進行單元測試的 Windows 8.1 機器。我們經常使用 PowerShell 對這些系統進行腳本更改,以簡化我們的管理。但是,我們在這些機器上啟用 powershell 遠端處理時遇到了麻煩。
我們在這些機器上執行以下命令來嘗試啟用 powershell 遠端處理
啟用-PSRemoting -force
但是我們總是得到以下錯誤:
WinRM 防火牆例外將不起作用,因為此電腦上的一種網路連接類型設置為公共。將網路連接類型更改為域或專用,然後重試。
網路適配器如下:
Name : Network 2 InterfaceAlias : vEthernet (Broadcom NetXtreme Gigabit Ethernet) InterfaceIndex : 13 NetworkCategory : Private IPv4Connectivity : Internet IPv6Connectivity : LocalNetwork Name : Unidentified network InterfaceAlias : vEthernet (Windows Phone Emulator Internal Switch) InterfaceIndex : 10 NetworkCategory : Public IPv4Connectivity : NoTraffic IPv6Connectivity : NoTraffic
我嘗試執行以下腳本將身份不明的網路設置為私有
Set-NetConnectionProfile -name "Network 2" -NetworkCategory private Set-NetConnectionProfile -name "Unidentified Network" -NetworkCategory private
然而,這些腳本在機器正常執行期間有效,但當機器重新啟動時,未辨識網路恢復為公眾。
為什麼要重置,我怎樣才能讓腳本化的更改持續存在?
謝謝!
您可以從 NLA(網路位置感知)中排除某些網卡。在 VMware 工作站場景中這樣做很常見,因為 VMware nics 總是以未辨識/公開的形式結束。就是這樣:
- 導航:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}
- 您會發現列舉鍵,如 0000、0001、0002 等。
- 將它們一一展開並查找 DriverDesc REG_SZ 值數據。
- 在您找到要排除的 nic 的名稱(DriverDesc 值)的同一系統資料庫項中,創建另一個新的 DWORD 值,將其命名
*NdisDeviceType
(它區分大小寫!!)。點兩下該值並在“值數據”欄位中將 1 作為十進制數據