Windows 8.1 Hyper-V 网络适配器设置为公共,不会保存为私有

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 

然而,这些脚本在机器正常运行期间有效,但当机器重新启动时,未识别的网络就会恢复到公开状态。

为什么要重置?我怎样才能使脚本更改持久保留?

谢谢!

答案1

您可以从 NLA(网络位置感知)中排除某些网卡。在 VMware 工作站场景中,这样做非常常见,因为 VMware 网卡最终总是被标记为未识别/公开。方法如下:

  1. 导航:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}
  2. 您将发现枚举的键,如 0000、0001、0002 等等。
  3. 逐一展开它们并查找 DriverDesc REG_SZ 值数据。
  4. 在找到要排除的网卡名称的同一注册表项(DriverDesc 值)中,创建另一个新的 DWORD 值,并为其命名*NdisDeviceType(区分大小写!!)。双击此值,并在“值数据”字段中将 1 输入为十进制数据

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

答案2

您可以通过组策略将所有未识别的网络设置为私有网络:

gpedit.msc> 计算机配置 > Windows 设置 > 安全设置 > 网络列表管理器策略 > 未识别的网络 >Location type: Private

相关内容