Eu usaria o VMware vSphere PowerCLI.
Ele contém snapins de cmdlets baseados no Microsoft PowerShell para automatizar a administração do vSphere.
Ele pode ser baixado aqui link
Abaixo, um exemplo de roteiro powershell que eu escrevi para recuperar informações que você deseja.
Os principais pontos são:
-
Parâmetro
Get-VMHost
with-Location
para consultar um cluster específico (caso você tenha mais de um e queira limitar a consulta a apenas um, esse é o meu caso) -
Parâmetro
Get-VMHostNetworkAdapter
with-Physical
para obter apenas NICs físicas.
$myVCenter = "vcenter.dom" #fqdn or ip of the VCenter Server
$myClusterName = "PROD" #Name of the ESXi cluster
$user = "username"
$pass = "password"
Connect-VIServer "$myVCenter" -User $user -Password "$pass"
$myvmhosts = Get-VMHost -Location $myClusterName | select Name
foreach($myvmhost in $myvmhosts)
{
Get-VMHostNetworkAdapter -Physical -VMHost $myvmhost.Name | select VMhost, Name, Mac, IP | format-table -autosize | Out-String
}
Produzirá esta saída:
VMHost Name Mac IP
------ ---- --- --
esxsrv1 vmnic0 d4:ae:52:9e:7f:ad
esxsrv1 vmnic1 d4:ae:52:9e:7f:af
esxsrv1 vmnic2 d4:ae:52:9e:7f:b1
esxsrv1 vmnic3 d4:ae:52:9e:7f:b3
esxsrv1 vmnic4 00:10:18:e4:80:24
esxsrv1 vmnic5 00:10:18:e4:80:25
esxsrv1 vmnic6 00:10:18:dc:12:e0
esxsrv1 vmnic7 00:10:18:dc:12:e2
VMHost Name Mac IP
------ ---- --- --
esxsrv2 vmnic0 d4:ae:52:98:29:6e
esxsrv2 vmnic1 d4:ae:52:98:29:70
esxsrv2 vmnic2 d4:ae:52:98:29:72
esxsrv2 vmnic3 d4:ae:52:98:29:74
esxsrv2 vmnic4 00:10:18:e4:86:6e
esxsrv2 vmnic5 00:10:18:e4:86:6f
esxsrv2 vmnic6 00:10:18:dc:20:20
esxsrv2 vmnic7 00:10:18:dc:20:22
E assim por diante para cada servidor ESXi no cluster ...
Na minha arquitetura VMWare, eu não tenho IP em NICs físicas, mas se você tiver, elas serão exibidas.
Outra ferramenta útil é o RVTools . Não há necessidade de escrever scripts. Instale a ferramenta, inicie-a e faça login, e você terá todas as informações, com filtros e possibilidades de exportação.