Powershell

Windows 8.1 Hyper-V 網路適配器設置為公共且不會另存為專用

  • July 3, 2016

我有一組執行 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 總是以未辨識/公開的形式結束。就是這樣:

  1. 導航:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}
  2. 您會發現列舉鍵,如 0000、0001、0002 等。
  3. 將它們一一展開並查找 DriverDesc REG_SZ 值數據。
  4. 在您找到要排除的 nic 的名稱(DriverDesc 值)的同一系統資料庫項中,創建另一個新的 DWORD 值,將其命名*NdisDeviceType(它區分大小寫!!)。點兩下該值並在“值數據”欄位中將 1 作為十進制數據

(摘自) http://www.petri.co.il/forums/showthread.php?t=45181

引用自:https://serverfault.com/questions/567452