Get-VMSwitch
Hyper-V cmdlet返回具有NetAdapterInterfaceDescription属性的VMSwitch对象,但仅为物理types的交换机填充此对象。
对于内部types的开关,此属性为空白。 主机上的虚拟适配器与VMSwitch之间唯一明显的关系是名称 – 例如,对于交换机“Foo”,默认的适配器名称是“vEthernet(Foo)”。
但是,networking适配器可以重命名。 我在Get-NetAdapter
的输出上Get-NetAdapter
了与交换机相关的其他值,但是我没有取得任何成功。
是否有其他cmdlet或API可以将内部Hyper-V虚拟交换机与主机networking适配器相匹配?
我最终自己偶然发现了答案。 我可以用:
$VMAdapter = Get-VMNetworkAdapter -ManagementOS -SwitchName Foo
这将返回一个具有DeviceId
属性的VMInternalNetworkAdapter
对象。 然后我可以可靠地得到相应的MSFT_NetAdapter
对象使用:
Get-NetAdapter | Where-Object { $_.DeviceID -eq $VMAdapter.DeviceId }