其中一个适配器上的Hyper-V更改静态MAC地址

问题描述 投票:0回答:1

我有一台Ubuntu 18.06 VM,其中连接了2个网络适配器,一个内部适配器,一个外部适配器。但是,我想将使用内部交换机“ NATSwitch”的适配器设置为具有静态MAC地址,而另一个适配器可以具有动态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的方法。

[另外,此虚拟机的网络配置是使用虚拟机内部的netplan配置设置的,因此它可以具有静态IP地址。

提前感谢!

powershell hyper-v virtual-network
1个回答
0
投票

您应该选择要使用的参数集-通过VMName或VMNetworkAdapter对象searchinf。

您可以在文档中找到有关不同参数集的更多信息: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"

此人为我工作。

© www.soinside.com 2019 - 2024. All rights reserved.