如何通过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.
答案 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有多个适配器,则可能需要选择正确的适配器。