Identifique o adaptador de rede do Hyper-V VM conectado ao vSwitch específico

2

Estou tentando identificar um adaptador de rede específico conectado ao vSwitch interno, para que eu possa vincular posteriormente a função de servidor DHCP a esse adaptador. Há 3 adaptadores de rede, 2 conectados a vSwitches externos (conectados a meu adaptador Wi-Fi e Ethernet de laptops) e 1 a internos (compartilhados apenas entre VMs). No entanto, eles não são facilmente identificados dentro da VM.

Name                      InterfaceDescription                    ifIndex Status       MacAddress             LinkSpeed
----                      --------------------                    ------- ------       ----------             ---------
Ethernet 2                Microsoft Hyper-V Network Adapter #2          6 Up           00-15-5D-01-64-16       270 Mbps
Ethernet 3                Microsoft Hyper-V Network Adapter #3          4 Up           00-15-5D-01-64-17        10 Gbps
Ethernet                  Microsoft Hyper-V Network Adapter             5 Disconnected 00-15-5D-01-64-15        10 Gbps

O estado de qualquer adaptador externo pode ser conectado ou não, mas geralmente 1 é (Wifi mais provável). No exemplo acima, provavelmente é o adaptador "Ethernet 3", mas isso só porque minha Ethernet não está conectada. Terá que trabalhar em um script do PowerShell (PSSession). A VM está executando o Server 2016. Como identificar o adaptador interno para ligar o DHCP a?

Muito obrigado!

Editar: Eu também poderia esperar com a criação do adaptador de rede interno até que esteja pronto para ligar o dhcp a ele e armazenar os adaptadores anteriormente existentes antes de criar o adaptador interno.

    
por SuHwak 01.01.2016 / 15:47

1 resposta

2

Eu sei que essa pergunta está desatualizada, mas recentemente criei um script do PowerShell para resolver esse problema. Pode ser que seja útil para outra pessoa.

$net_adapters = Get-NetAdapter
foreach($ethernet_port in gwmi -Namespace Root\Virtualization\V2 -Class Msvm_InternalEthernetPort){
    $endpoint_physical = gwmi -Namespace Root\Virtualization\V2 -Query "ASSOCIATORS OF {$ethernet_port} WHERE ResultClass=Msvm_LANEndpoint AssocClass=Msvm_EthernetDeviceSAPImplementation"
    $endpoint_virtual = gwmi -Namespace Root\Virtualization\V2 -Query "ASSOCIATORS OF {$endpoint_physical} where ResultClass=Msvm_LANEndpoint assocclass=Msvm_ActiveConnection"
    $ethernetswitchport = gwmi -Namespace Root\Virtualization\V2 -Query "ASSOCIATORS OF {$endpoint_virtual}  WHERE ResultClass=Msvm_EthernetSwitchPort AssocClass=Msvm_EthernetDeviceSAPImplementation"
    $vswitch = gwmi -Namespace Root\Virtualization\V2 -Query "ASSOCIATORS OF {$ethernetswitchport} WHERE ResultClass=Msvm_VirtualEthernetSwitch"

    $net_adapter = $net_adapters | ?{($_).MacAddress -replace '-','' -eq $ethernet_port.PermanentAddress}
    Write-Host "Adapter:" $net_adapter.Name 
    Write-Host "Switch:" $vswitch.ElementName
    Write-Host
}
    
por 03.10.2017 / 11:43