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

时间:2015-07-28 15:27:09

标签: powershell virtual-machine

如何通过ID从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.

1 个答案:

答案 0 :(得分:1)

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

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

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

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

但是,如果VM有多个适配器,则可能需要选择正确的适配器。