在 powershell 中将“未识别的网络”更改为“私人”

在 powershell 中将“未识别的网络”更改为“私人”

我想使用 Powershell 将 Windows 中“未识别”网络的连接类型更改为“私有”。理想情况下,这应该适用于 Win 8 和 10。

另一种解决方案是让 Windows 识别此网络,然后我可以将位置设置为私有。这是一个仅 VirtualBox 主机与 Linux 主机的网络。

我可以使用 UI 按照以下步骤执行此操作:

  • 打开组策略编辑器,例如(开始-> gpedit.msc)
  • 计算机配置 -> Windows 设置 -> 安全设置 -> 网络列表管理器策略
  • 当显示“未识别的网络”时,右键单击 -> 属性
  • 将“位置类型”更改为私人

我已经用谷歌搜索并尝试过:

$networkListManager = [Activator]::CreateInstance([Type]::GetTypeFromCLSID([Guid]"{DCB00C01-570F-4A9B-8D69-199FDBA5723B}"))
$connections = $networkListManager.GetNetworkConnections()

$connections |foreach {
    $_.GetNetwork().SetCategory(1)
}

但重启后将无法恢复。

答案1

我写脚本去年我把它放到了 GitHub 上。它确实实现了你想要的效果:

Set-NetworkProfileCategory.ps1 -Name 'Unidentified network' -private

我暂时没有测试过,不过你可以尝试一下。

相关内容