我有一个 HyperV 交换机。当我运行 时hnsdiag list networks
,返回以下内容:
03D8864D-7F72-412C-AC60-CC3056A1AE11
名称:staticip
类型:内部
子网 地址:172.31.224.0/20
网关:172.31.224.1
如何更改子网地址和网关?
我找到了“Install-Module -Name HNS”,因此我得到了“Get-Hns”和“Remove-Hns”函数。我原本期望得到“Set-Hns”函数。
我尝试将网络适配器连接到虚拟交换机,其 IP 地址在我预期的范围内(而不是 hnsdiag 返回的地址)。
我查看了注册表。我在二进制数据中找到了虚拟交换机及其子网和网关。我原本希望找到一个要修改的字符串注册表值。
答案1
不幸的是,该Set-Hns
cmdlet 不可用,但您可以使用该New-HnsNetwork
cmdlet 创建具有所需设置的新网络,然后删除旧网络。
以下是您可以采取的方法,我将其说得尽可能简单:
获取当前网络对象:
$network = Get-HnsNetwork -Name "staticip"
使用所需设置创建新网络:
$newNetwork = New-HnsNetwork -Name "staticip" -Type Internal -SubnetAddress "172.31.240.0/20" -Gateway "172.31.240.1"
将子网地址和网关替换为您想要的值。
删除旧网络:
$network | Remove-HnsNetwork -Force
这将删除具有原始设置的旧网络。
验证更改:
hnsdiag list networks
现在应该显示“staticip”网络的更新子网地址和网关。
注意:修改网络设置时要小心,因为它可能会影响现有的虚拟机和连接,并记得相应地更新任何依赖的虚拟机或网络适配器。