2

我有一个 Hyper-V 主机,有几个客人,每个客人都有一个或多个网络适配器。如何枚举这些来宾上的网络适配器?

具体来说,我正在寻找一个特定的客人,给定一个 MAC 地址。

我正在使用 C# 和System.Management.

4

1 回答 1

2

我将省略一些细节:

  • 连接到主机上的 Hyper-V。
  • 枚举机器 ( SELECT * FROM Msvm_ComputerSystem)。
  • 对于每台机器,找到关联的Msvm_SyntheticEthernetPort对象。
var ports = computerSystem.GetRelated("Msvm_SyntheticEthernetPort");
foreach(端口中的 ManagementObject 端口)
{
  • 掌握设置:
    var portSettings = port.GetRelated("Msvm_SyntheticEthernetPortSettingData");
    foreach(portSettings 中的 ManagmentObject portSetting)
    {
  • 查找配置的 MAC 地址:
        字符串 macAddress = (string)portSetting .GetPropertyValue("Address");
于 2010-02-25T14:45:13.753 回答