我有一组运行 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 网卡最终总是被标记为未识别/公开。方法如下:
- 导航:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}
- 您将发现枚举的键,如 0000、0001、0002 等等。
- 逐一展开它们并查找 DriverDesc REG_SZ 值数据。
- 在找到要排除的网卡名称的同一注册表项(DriverDesc 值)中,创建另一个新的 DWORD 值,并为其命名
*NdisDeviceType
(区分大小写!!)。双击此值,并在“值数据”字段中将 1 输入为十进制数据
答案2
您可以通过组策略将所有未识别的网络设置为私有网络:
gpedit.msc
> 计算机配置 > Windows 设置 > 安全设置 > 网络列表管理器策略 > 未识别的网络 >Location type: Private