Как перечислить сетевые адаптеры гостя Hyper-V с помощью WMI? - PullRequest
2 голосов
/ 25 февраля 2010

У меня есть хост Hyper-V с несколькими гостями, у каждого из которых есть один или несколько сетевых адаптеров. Как мне перечислить сетевые адаптеры на этих гостях?

В частности, я ищу конкретного гостя по MAC-адресу.

Я использую C # и System.Management.

1 Ответ

2 голосов
/ 25 февраля 2010

Я опущу некоторые детали:

  • Подключение к Hyper-V на хосте.
  • Перечислите машины (SELECT * FROM Msvm_ComputerSystem).
  • Для каждой машины найдите связанные Msvm_SyntheticEthernetPort объекты.
var ports = computerSystem.GetRelated("Msvm_SyntheticEthernetPort");
foreach (ManagementObject port in ports)
{
  • Получить настройки:
    var portSettings = port.GetRelated("Msvm_SyntheticEthernetPortSettingData");
    foreach (ManagmentObject portSetting in portSettings)
    {
  • Ищите настроенный MAC-адрес:
        string macAddress = (string)portSetting .GetPropertyValue("Address");
...