Hyper-V 更改其中一个适配器上的静态 MAC 地址
Hyper-V changing Static MAC address on one of the adapters
我有一个 Ubuntu 18.06 VM,连接了 2 个网络适配器,一个内部,一个外部。但是,我想将使用内部开关 "NATSwitch" 的适配器设置为具有静态 MAC 地址,而另一个可以具有动态地址。
PS C:\> Get-VMNetworkAdapter -VMName "Docker_1806"
Name IsManagementOs VMName SwitchName MacAddress Status IPAddresses
---- -------------- ------ ---------- ---------- ------ -----------
Network Adapter False Docker_1806 Robot Switch 001122334455 {Ok} {169.254.74.100, fe80::215:5dff:feb2:1188}
Network Adapter False Docker_1806 NATSwitch 554433221100 {Ok} {192.168.137.100, fe80::a00:3cff:fea3:4209}
我试过使用这个命令:
PS C:\> Set-VMNetworkAdapter -VMName "Docker_1806" -StaticMacAddress "01-02-03-04-05"
但这似乎已将我的两个适配器的 MAC 地址都更改为静态地址。
我试过:
PS C:\> $vmadapter = Get-VMNetworkAdapter -VMName "Docker_1806"
PS C:\> $vmadapter[1]
Name IsManagementOs VMName SwitchName MacAddress Status IPAddresses
---- -------------- ------ ---------- ---------- ------ -----------
Network Adapter False Docker_1806 NATSwitch 554433221100 {Ok} {192.168.137.100, fe80::a00:3cff:fea3:4209}
PS C:\> Set-VMNetworkAdapter -VMName "Docker_1806" -VMNetworkAdapter $vmadapter[1] -StaticMacAddress "01-02-03-04-05"
Set-VMNetworkAdapter : Parameter set cannot be resolved using the specified named parameters.
At line:1 char:1
+ set-vmnetworkadapter -vmname "Docker_V2_Dev" -VMNetworkAdapter $vmada ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [Set-VMNetworkAdapter], ParameterBindingException
+ FullyQualifiedErrorId : AmbiguousParameterSet,Microsoft.HyperV.PowerShell.Commands.SetVMNetworkAdapter
有没有办法通过主机上的 Powershell 只更改其中一个?我似乎找不到为该 VM 的特定适配器设置静态 MAC 的方法。
另一方面,此 VM 的网络配置是使用 VM 内部的 netplan 配置设置的,因此它可以具有静态 IP 地址。
提前致谢!
您应该选择要使用的参数集 - 通过 VMName 或 VMNetworkAdapter 对象进行搜索。
您可以在文档中找到有关不同参数集的更多信息:
https://docs.microsoft.com/en-us/powershell/module/hyper-v/set-vmnetworkadapter?view=win10-ps
$vmadapter = Get-VMNetworkAdapter -VMName "Docker_1806"
Set-VMNetworkAdapter -VMNetworkAdapter $vmadapter[1] -StaticMacAddress "01-02-03-04-05"
这个对我有用。
在默认交换机属性中更改 MAC 地址(属性->配置...->网络地址)。在我的例子中,我看到 MAC 地址设置不正确,带有破折号(可能在默认 Hyper-V 安装时设置)。
我有一个 Ubuntu 18.06 VM,连接了 2 个网络适配器,一个内部,一个外部。但是,我想将使用内部开关 "NATSwitch" 的适配器设置为具有静态 MAC 地址,而另一个可以具有动态地址。
PS C:\> Get-VMNetworkAdapter -VMName "Docker_1806"
Name IsManagementOs VMName SwitchName MacAddress Status IPAddresses
---- -------------- ------ ---------- ---------- ------ -----------
Network Adapter False Docker_1806 Robot Switch 001122334455 {Ok} {169.254.74.100, fe80::215:5dff:feb2:1188}
Network Adapter False Docker_1806 NATSwitch 554433221100 {Ok} {192.168.137.100, fe80::a00:3cff:fea3:4209}
我试过使用这个命令:
PS C:\> Set-VMNetworkAdapter -VMName "Docker_1806" -StaticMacAddress "01-02-03-04-05"
但这似乎已将我的两个适配器的 MAC 地址都更改为静态地址。
我试过:
PS C:\> $vmadapter = Get-VMNetworkAdapter -VMName "Docker_1806"
PS C:\> $vmadapter[1]
Name IsManagementOs VMName SwitchName MacAddress Status IPAddresses
---- -------------- ------ ---------- ---------- ------ -----------
Network Adapter False Docker_1806 NATSwitch 554433221100 {Ok} {192.168.137.100, fe80::a00:3cff:fea3:4209}
PS C:\> Set-VMNetworkAdapter -VMName "Docker_1806" -VMNetworkAdapter $vmadapter[1] -StaticMacAddress "01-02-03-04-05"
Set-VMNetworkAdapter : Parameter set cannot be resolved using the specified named parameters.
At line:1 char:1
+ set-vmnetworkadapter -vmname "Docker_V2_Dev" -VMNetworkAdapter $vmada ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [Set-VMNetworkAdapter], ParameterBindingException
+ FullyQualifiedErrorId : AmbiguousParameterSet,Microsoft.HyperV.PowerShell.Commands.SetVMNetworkAdapter
有没有办法通过主机上的 Powershell 只更改其中一个?我似乎找不到为该 VM 的特定适配器设置静态 MAC 的方法。
另一方面,此 VM 的网络配置是使用 VM 内部的 netplan 配置设置的,因此它可以具有静态 IP 地址。
提前致谢!
您应该选择要使用的参数集 - 通过 VMName 或 VMNetworkAdapter 对象进行搜索。
您可以在文档中找到有关不同参数集的更多信息: https://docs.microsoft.com/en-us/powershell/module/hyper-v/set-vmnetworkadapter?view=win10-ps
$vmadapter = Get-VMNetworkAdapter -VMName "Docker_1806"
Set-VMNetworkAdapter -VMNetworkAdapter $vmadapter[1] -StaticMacAddress "01-02-03-04-05"
这个对我有用。
在默认交换机属性中更改 MAC 地址(属性->配置...->网络地址)。在我的例子中,我看到 MAC 地址设置不正确,带有破折号(可能在默认 Hyper-V 安装时设置)。