Pergunta

Eu tenho um host Hyper-V, com vários convidados, cada um com um ou mais adaptadores de rede. Como enumerar os adaptadores de rede nesses convidados?

Especificamente, estou procurando um convidado específico, dado um endereço MAC.

Estou usando C# e System.Management.

Foi útil?

Solução

Vou deixar de fora alguns dos detalhes:

  • Conecte-se ao Hyper-V no host.
  • Enumerar as máquinas (SELECT * FROM Msvm_ComputerSystem).
  • Para cada máquina, encontre o associado Msvm_SyntheticEthernetPort objetos.
var ports = computerSystem.GetRelated("Msvm_SyntheticEthernetPort");
foreach (ManagementObject port in ports)
{
  • Segure as configurações:
    var portSettings = port.GetRelated("Msvm_SyntheticEthernetPortSettingData");
    foreach (ManagmentObject portSetting in portSettings)
    {
  • Procure o endereço MAC configurado:
        string macAddress = (string)portSetting .GetPropertyValue("Address");
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top