如何使用 WMI 枚举 Hyper-V 来宾上的网络适配器?

发布于 2024-08-22 18:20:06 字数 136 浏览 12 评论 0原文

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

具体来说,我正在寻找特定的访客,并给出 MAC 地址。

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

I've got a Hyper-V host, with several guests, each with one or more network adapters. How do I enumerate the network adapters on those guests?

Specifically, I'm looking for a particular guest, given a MAC address.

I'm using C# and System.Management.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

苄①跕圉湢 2024-08-29 18:20:06

我将省略一些细节:

  • 连接到主机上的 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");

I'll leave out some of the details:

  • Connect to Hyper-V on the host.
  • Enumerate the machines (SELECT * FROM Msvm_ComputerSystem).
  • For each machine, find the associated Msvm_SyntheticEthernetPort objects.
var ports = computerSystem.GetRelated("Msvm_SyntheticEthernetPort");
foreach (ManagementObject port in ports)
{
  • Get hold of the settings:
    var portSettings = port.GetRelated("Msvm_SyntheticEthernetPortSettingData");
    foreach (ManagmentObject portSetting in portSettings)
    {
  • Look for the configured MAC address:
        string macAddress = (string)portSetting .GetPropertyValue("Address");
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文