VMWare: Cách tìm máy ảo theo địa chỉ IP hoặc MAC?
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ể theo địa chỉ IP hoặc MAC (phần cứng NIC) của nó.
Thực hiện việc này 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 tham 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.a-d.site -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 các 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"; doneNế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])}}|ftNế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}}|ftLệ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.

