将虚拟网络适配器连接到虚拟交换机

Connects a virtual network adapter to a virtual switch

如何通过 IDs 从 powershell 将虚拟交换机连接到虚拟机?

我试过了:

# get virtual machine object
$vm = get-vm -Id '...id...'

# get virtual switch object
$vs = get-switch -Id '...id...'

# connect both
connect-vmnetworkadapter -vm $vm -vmswitch $vs

我想通过Ids将VM连接到VS,因为名称不是唯一的。

我收到错误:

Connect-VMNetworkAdapter : Parameter cannot be processed because the parameter name 'vm'
is ambiguous. Possible match include: -VMName -VMNetworkAdapter -VMSwitch -Name.

错误消息实际上是不言自明的。参数 -VM 不明确,即 Connect-VMNetworkAdapter cmdlet 有多个以 VM 开头的参数。将参数 -VMName 与虚拟机名称一起使用:

Connect-VMNetworkAdapter -VMName $vm.Name -VMSwitch $vs

如果您不能使用该名称,则必须从管道读取适配器,因为 AFAICS Connect-VMNetworkAdapter 不接受 VM 对象作为输入。

$vm.NetworkAdapters | Connect-VMNetworkAdapter -VMSwitch $vs

您可能需要 select 正确的适配器,如果 VM 有多个的话。