В інтерфейсі VMWare vSphere Client ви можете виконувати пошук віртуальних машин тільки за їхніми іменами. Але в деяких випадках адміністратору VMWare необхідно знайти певну віртуальну машину по її IP або MAC адресою.
Найпростіше виконувати за різними параметрами віртуальних машин за допомогою VMWare PowerCLI.
Запустіть консоль PowerCLI і підключіться до вашого сервера vCenter або ESXi хосту за допомогою команди:
Connect-VIServer vsphere.winitpro.ru -User administrator
Для пошуку віртуальної машини по MAC адресу використовуйте наступні команди:
$ VmMAC = "00: 50: 16: AB: 71: 12"
Get-VM | Get-NetworkAdapter | Where-Object $ _. MacAddress -eq $ vmMAC | Select-Object Parent, Name, MacAddress
Як ви бачите, команда повернула ім'я віртуальної машини з зазначеним MAC адресою.
Також ви можете виконати пошук певного MAC адреси безпосередньо по конфігураційним VMX файлів віртуальних машин на VMFS сховище.
find / vmfs / volumes | grep .vmx $ | while read i; do grep -i "00: 50: 16: ba: 11: 21" "$ i" && echo "$ i"; done
Якщо на віртуальних машинах встановлені VMware Tools, ви можете виконувати пошук по IP адресою гостьовий операційної системи. Наприклад, вам потрібно знайти ВМ з тією чи іншою IP адресою. Скористайтеся наступними командами:
$ VmIP = "10.1.1.102"
Get-VM * | where-object $ _. Guest.IPAddress -eq $ vmIP | select Name, VMHost, PowerState, GuestId, @ N = "IP Address"; E = @ ($ _. Guest.IPAddress [0]) | ft
Якщо вам відома тільки частина IP адреси, скористайтеся командою:
$ VmIP = "192.168."
Get-VM * | where-object $ _. Guest.IPAddress -match $ vmIP | select Name, VMHost, PowerState, @ N = "IP Address"; E = @ ($ _. Guest.IPAddress [0 ]), @ N = "OS"; E = $ _. Guest.OSFullName, @ N = "Hostname"; E = $ _. Guest.HostName | ft
Команда виведе імена і типи встановлених ОС всіх віртуальних машин, чиї IP адреси збігаються з даними шаблоном.