В этой статье я покажу, как получить IP адреса виртуальных машин, запущенных на сервере VMWare ESXi или vSphere из командной строки PowerCLI. IP адрес виртуальной машины – это параметр, который можно получить только из гостевой операционной системы через vmtools (естественно, что vmtools должны быть установлены).
Вы можете получить IP адрес конкретной виртуальной машины по ее имени, например:
(Get-VM -Name test01).Guest.IPAddress
Можно получить список IP адресов всех виртуальных машин на хосте ESXi или сервере vCenter (в зависимости от того, куда вы подключились через PowerCLI):
(Get-VM).Guest.IPAddress
Можно использовать такой формат команды, позволяющий получить не только IP адрес машины, но и ее имя, состояние (включена или нет):
Get-VM -Name test02 | Select Name , powerstate , @{N="IP Address";E={@($_.Guest.IPAddress)}}
Либо можно использовать такую команду:
Get-VM -name test02| Get-VMGuest | Format-Table VM ,IPAddress
Можно получить таблицу с IP адресами всех виртуальных машин (вы можете добавить дополнительные столбцы, например, имя кластера, имя ESXi хоста, имя VMFS хранилища и т.д.):
Get-VM | Select Name , powerstate , @{N="IP Address";E={@($_.Guest.IPAddress)}}
Этот список можно экспортировать на ваш компьютер в CSV файл, где вы сможете загрузить его в Excel и провести анализ:
Get-VM | Select Name , powerstate , @{N="IP Address";E={@($_.Guest.IPAddress)}} | Export-CSV c:\ps\vcenter-vms-ips.csv –NoTypeInformation