VMWare how to find VMS by IP or MAC address

Need to know how to  find VMS by IP or mac address in VMWare?

This guide is for you.

Here at Ibmi Media, as part of our Server Management Services, we regularly help our Customers to perform  VMWare related tasks.

In this context, we shall take a look at the process to find VMS by IP or mac address.

VMWare: how to find VMS by IP or mac address - The complete process

In the VMWare vSphere Client interface, we can search virtual machines by their names only. But in a few cases, it is necessary to find the specific VMWare virtual machine by its IP or MAC (NIC hardware) address.

Now you shall learn how to easily find the VMS using IP address.

From Virtual Machine Settings, we can find the MAC address. Then in the Network Section, we click the Advanced button and read the MAC address. After that, in the console, we execute: arp -a

C:\>arp -a
Interface: --- 0xb
Internet Address Physical Address Type b8-ac-6f-cb-a1-80 dynamic 78-2b-cb-aa-51-bf dynamic

Interface: --- 0x1c
Internet Address Physical Address Type 00-0c-29-56-bd-36 dynamic ff-ff-ff-ff-ff-ff static

In this case, the IP is

It is easier to find specific VMWare virtual machines by using the VMWare PowerCLI that allows to search by different virtual machine parameters.

You can run the PowerCLI console and connect to the vCenter Server or ESXi host using the below command:

Connect-VIServer vcenter-hq.woshub.com -User administrator

How to Find VMS by MAC address?

In order to find a virtual machine by its MAC address, we use these commands:

Get-VM | Get-NetworkAdapter | Where-Object {$_.MacAddress –eq $vmMAC } | Select-Object Parent,Name,MacAddress

Also, we can search for a specific MAC address directly in the virtual machine configuration files (VMX) on the VMFS datastore. For that, simply connect to the ESXi host via SSH and run the below command:

find /vmfs/volumes | grep .vmx$ | while read i; do grep -i "00:52:32:DD:12:91" "$i" && echo "$i"; done

How to Find VMS by IP address?

If we have VMWare Tools installed on the virtual machines, we search by the IP address of the guest operating system. Here is the command that we run to find a VM with the specific IP address;

Get-VM * |where-object{$_.Guest.IPAddress -eq $vmIP}|select Name, VMHost, PowerState,GuestId,@{N="IP Address";E={@($_.guest.IPAddress[0])}}|ft

In case, if we only know a part of the IP address, then execute the following command:

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

This command will list the names and types of installed OS of all virtual machines whose IP addresses match this pattern.

[Need any further help in fixing VMWare queries? – We are here to help you]


This tutorial will guide you on how to easily find VMS by IP or mac address.

For Linux Tutorials

We create Linux HowTos and Tutorials for Sys Admins. Visit us on LinuxAPT.com

Also for Tech related tips, Visit forum.outsourcepath.com or General Technical tips on www.outsourcepath.com