Trong giao diện VMWare vSphere Client, bạn chỉ có thể tìm kiếm các máy ảo theo tên của chúng. Nhưng trong một số trường hợp, cần phải tìm máy ảo VMWare cụ thể bằng địa chỉ IP hoặc MAC (phần cứng NIC) của nó.
Làm điều đó dễ dàng hơn bằng cách sử dụng VMWare PowerCLI cho phép bạn tìm kiếm theo các thông số máy ảo khác nhau.
Chạy bảng điều khiển PowerCLI và kết nối với máy chủ vCenter hoặc máy chủ ESXi của bạn bằng lệnh sau:
Connect-VIServer vcenter-hq.woshub.com -User administrator
Để tìm một máy ảo theo địa chỉ MAC của nó, hãy 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 có thể thấy, lệnh đã trả về tên của máy ảo cùng với địa chỉ MAC của nó.
Bạn cũng có thể tìm kiếm một địa chỉ MAC cụ thể trực tiếp trong tệp cấu hình máy ảo (VMX) trên kho dữ liệu VMFS. Kết nối với máy chủ ESXi của bạn 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 các máy ảo của mình, bạn có thể tìm kiếm theo địa chỉ IP của hệ điều hành khách. Ví dụ, bạn phải tìm một máy ảo có đị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, hãy 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 HĐH đã cài đặt của tất cả các máy ảo có địa chỉ IP khớp với mẫu này.