Liste des ESXi avec IP

Voici un petit mémento qu’on avait oublié de poster pour récupérer rapidement le nom et l’IP des serveurs ESXi d’une plateforme vSphere. Plusieurs possibilités pour faire cela, soit on utilise uniquement des propriétés vSphere SDK :

Get-View -ViewType HostSystem -Property Name,Config | Select Name, @{n="IP";e={$_.config.network.vnic.spec.ip.ipaddress}}

Soit, on va utiliser la résolution DNS du nom de l’ESXi :

Get-View -ViewType HostSystem -Property Name | Select Name, @{n="IP";e={[System.Net.Dns]::GetHostAddresses($_.Name)}}

Même si le résultat est identique, la différence se trouve au niveau du temps d’exécution. Sur une plateforme avec ~200 serveurs ESXi, la méthode vSphere SDK prend un peu plus de 26s (même en utilisant le filtre Property du cmdlet Get-View) alors que celle utilisant la méthode DNS prend 0,3s :