VMWare:如何通过 IP 或 MAC 地址查找虚拟机?
在VMWare vSphere Client 界面中,您只能按虚拟机名称搜索虚拟机。但在某些情况下,需要通过 IP 或 MAC(网卡硬件)地址来查找特定的 VMWare 虚拟机。
使用 VMWare PowerCLI 可以更轻松地完成此操作,它允许您按不同的虚拟机参数进行搜索。
运行 PowerCLI 控制台并使用以下命令连接到 vCenter 服务器或 ESXi 主机:
Connect-VIServer vcenter-hq.a-d.site -User administrator要通过 MAC 地址查找虚拟机,请使用以下命令:
$vmMAC="00:52:32:DD:12:91”
Get-VM | Get-NetworkAdapter | Where-Object {$_.MacAddress -eq $vmMAC } | Select-Object Parent,Name,MacAddress
如您所见,该命令已返回虚拟机的名称及其 MAC 地址。
您还可以直接在 VMFS 数据存储上的虚拟机配置文件 (VMX) 中搜索特定 MAC 地址。通过 SSH 连接到 ESXi 主机并运行以下命令:
find /vmfs/volumes | grep .vmx$ | while read i; do grep -i "00:52:32:DD:12:91" "$i" && echo "$i"; done如果您的虚拟机上安装了 VMware Tools,则可以通过来宾操作系统的 IP 地址进行搜索。例如,您必须找到具有特定 IP 地址的虚拟机。使用以下命令:
$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如果您只知道 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 地址与此模式匹配的所有虚拟机的已安装操作系统的名称和类型。

