通过 PowerShell 可靠地将 Hyper-V 内部交换机与主机网络适配器关联起来

通过 PowerShell 可靠地将 Hyper-V 内部交换机与主机网络适配器关联起来

Hyper Get-VMSwitch-V cmdlet 返回具有 NetAdapterInterfaceDescription 属性的 VMSwitch 对象,但该属性仅适用于物理类型的交换机。

对于内部类型的交换机,此属性为空。主机上的虚拟适配器和 VMSwitch 之间唯一明显的关系是名称 - 例如,对于交换机“Foo”,默认适配器名称为“vEthernet (Foo)”。

但是,网络适配器可以重命名。我查找了与交换机相关的输出上的其他值,Get-NetAdapter但没有成功。

是否有其他 cmdlet 或 API 可以将内部 Hyper-V 虚拟交换机与主机网络适配器匹配?

答案1

我最终自己偶然找到了答案。我可以使用:

$VMAdapter = Get-VMNetworkAdapter -ManagementOS -SwitchName Foo

这将返回一个VMInternalNetworkAdapter具有属性的对象DeviceId。然后我可以MSFT_NetAdapter使用以下命令可靠地获取相应的对象:

Get-NetAdapter | Where-Object { $_.DeviceID -eq $VMAdapter.DeviceId }

相关内容