Назад | Перейти на главную страницу

Надежно коррелируйте внутренние коммутаторы Hyper-V с сетевыми адаптерами хоста из PowerShell.

В Get-VMSwitch Командлет Hyper-V возвращает объекты VMSwitch, у которых есть свойство NetAdapterInterfaceDescription, но оно заполняется только для переключателей типа Physical.

Для коммутаторов типа Internal это свойство не заполнено. Единственная очевидная связь между виртуальным адаптером на хосте и VMSwitch - это имя - например, для коммутатора «Foo» имя адаптера по умолчанию - «vEthernet (Foo)».

Однако сетевые адаптеры можно переименовать. Я искал другие значения на выходе Get-NetAdapter которые соотносятся с переключателями, но я не добился успеха.

Существуют ли другие командлеты или API, которые могут сопоставить внутренний виртуальный коммутатор Hyper-V с сетевым адаптером хоста?

В конце концов, я сам наткнулся на ответ. Я могу использовать:

$VMAdapter = Get-VMNetworkAdapter -ManagementOS -SwitchName Foo

Это вернет VMInternalNetworkAdapter объект с DeviceId свойство. Тогда я могу надежно получить соответствующий MSFT_NetAdapter объект, использующий:

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