PowerShell如何将vswitch附加到虚拟机

时间:2016-08-31 11:02:19

标签: powershell hyper-v

我正尝试使用以下命令

将虚拟交换机连接到Hyper-v上的虚拟机
Add-VMNetworkAdapter -vmName 'XYZ' -SwitchName 'PrimarySwitch' 

我在Hyper-v上有两个具有相同交换机名称'PrimarySwitch'的交换机,因此它失败了,因为它找到了两个具有相同名称的虚拟交换机。

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

为什么你的2x开关名称相同!

我认为这方面的工作并不容易。您可以使用以下方法获取有关开关的其他详细信息:

Get-VMSwitch | SELECT Id, Name, NetAdapterInterfaceDescription

但是,将交换机添加到VM只会接受其名称值,而不是ID。正如文档所述,如果名称不是唯一的,那么这将失败。

https://technet.microsoft.com/en-us/library/hh848564.aspx

简而言之,您需要重命名其中一个开关。这在Virtual Switch Manager下的Hyper-V管理器GUI中很容易实现。使用:

Rename-VMSwitch -Name "PrimarySwitch" –NewName "SecondarySwitch"

...由于同名的唯一性问题,无法正常工作。

答案 1 :(得分:0)

此外,如果您可以识别带ID的交换机,您可以尝试命令''(根据需要替换ID和VM名称):

Get-VMSwitch -Id c16acc5e-d668-4fbc-84e7-9fb180380fa4 | Connect-VMNetworkAdapter -VMName replicatest -name xxx

参数'-name'是该VM的适配器名称,您希望将该VM的所有NIC连接到该Vswitch,删除'-name'参数。