Trong giao diện VMware vSphere Client, bạn chỉ có thể tìm kiếm máy ảo theo tên của chúng. Nhưng trong một số trường hợp, cần thiết phải tìm máy ảo VMware cụ thể bằng địa chỉ IP hoặc MAC (địa chỉ phần cứng NIC).
Việc này dễ dàng hơn bằng cách sử dụng VMware PowerCLI cho phép tìm kiếm bằng các tham số máy ảo khác nhau.
Chạy console PowerCLI và kết nối với máy chủ vCenter hoặc ESXi host bằng lệnh sau:
Connect-VIServer vcenter-hq.woshub.com -User administrator
Để tìm máy ảo bằng địa chỉ MAC, sử dụng các lệnh sau:
$vmMAC="00:52:32:DD:12:91"
Get-VM | Get-NetworkAdapter | Where-Object {$_.MacAddress –eq $vmMAC } | Select-Object Parent,Name,MacAddress

Như bạn thấy, lệnh đã trả về tên máy ảo với địa chỉ MAC của nó.
Bạn cũng có thể tìm kiếm địa chỉ MAC cụ thể trực tiếp trong file cấu hình máy ảo (VMX) trên datastore VMFS. Kết nối với ESXi host qua SSH và chạy lệnh:
find /vmfs/volumes | grep .vmx$ | while read i; do grep -i "00:52:32:DD:12:91" "$i" && echo "$i"; done
Nếu bạn đã cài đặt VMware Tools trên máy ảo, bạn có thể tìm kiếm bằng địa chỉ IP của hệ điều hành khách. Ví dụ, bạn phải tìm VM với địa chỉ IP cụ thể. Sử dụng các lệnh sau:
$vmIP="192.168.1.102"
Get-VM * |where-object{$_.Guest.IPAddress -eq $vmIP}|select Name, VMHost, PowerState,GuestId,@{N="IP Address";E={@($_.guest.IPAddress[0])}}|ft
Nếu bạn chỉ biết một phần của địa chỉ IP, sử dụng lệnh sau:
$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

Lệnh sẽ liệt kê tên và loại OS đã cài đặt của tất cả máy ảo có địa chỉ IP khớp với mẫu này.