Hyper-V меняет адрес Stati c MA C на одном из адаптеров - PullRequest
0 голосов
/ 21 марта 2020

У меня есть виртуальная машина Ubuntu 18.06 с двумя подключенными сетевыми адаптерами, один внутренний и один внешний. Однако я бы хотел, чтобы адаптеры, использующие внутренний коммутатор «NATSwitch», имели статический адрес c MA C, в то время как другой может иметь динамический c адрес.

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"

Но это, похоже, изменило оба адреса MA C моего адаптера на stati c.

Я пробовал:

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 на хосте? Кажется, я не могу найти способ установить stati c MA C для указанного адаптера c для этой виртуальной машины.

С другой стороны, конфигурации сети для этой виртуальной машины устанавливаются с помощью netplan конфигурации внутри виртуальной машины, чтобы она могла иметь статические c IP-адреса.

Заранее спасибо!

1 Ответ

1 голос
/ 21 марта 2020

Вы должны выбрать, какой из наборов параметров вы хотите использовать - searchinf по объекту VMName или VMNetworkAdapter.

Дополнительную информацию о различных наборах параметров вы можете найти в do c: 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"

Этот работал для меня.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...