[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More


vCenter Troubleshooting TIPS - How to find who deleted a VM

Published on
5,854 Points
2 Endorsements
Last Modified:
Luciano Patrão
VCP6.5-DCV, vSAN Specialist, vExpert last 3*, Veeam Vanguard. Expertises VMware, Virtual Backups and Storage design and a active Blogger.
If we need to check who deleted a Virtual Machine from our vCenter. Looking this task in logs can be painful and spend lot of time, so the best way to check this is in the vCenter DB.

Just connect to vCenter DB(default DB should be VCDB and using SQL Server Management Studio) and run a small query and you will have all the information.



Open in new window

Where the VMNAME is the name of your Virtual Machine that was deleted.

If you don't know the full name of the VM, you can just use wildcards(AND VM_NAME LIKE 'VM%'). This will show all results from all Virtual Machines that start with 'VM'.
You can use many different wildcards to look for the right result. Please check Microsoft KBQ98434 how to use wildcards.

Using VPX_EVENT you can query lot of events/tasks that was performed on VMs/Hosts.

vim.event.VmPoweredOffEvent - Virtual Machines that were Poweroff(without using Guest Powerdown)

We can also use the same query using PowerShell Script o check events.

Example(VM created)

Get-VM -Name 'VMNAME' | Get-VIEvent -Types Info | Where {$_.GetType().Name -eq "VmCreatedEvent"}
Select UserName, CreatedTime, FullFormattedMessage | FT -AutoSize

Open in new window

You should get something like this

Template             : False
Key                  : 13264809
ChainId              : 13264804
CreatedTime          : 5/9/2014 16:21:16
UserName             : DOMAIN\USER
Datacenter           : VMware.Vim.DatacenterEventArgument
ComputeResource      : VMware.Vim.ComputeResourceEventArgument
Host                 : VMware.Vim.HostEventArgument
Vm                   : VMware.Vim.VmEventArgument
Ds                   : 
Net                  : 
Dvs                  : 
FullFormattedMessage : Virtuelle Maschine VMNAME auf HOSTNAME in DatacenterNAME erstellt.
ChangeTag            : 
DynamicType          : 
DynamicProperty      : 

Open in new window

You can also list the last VMs deleted, or any other event(just change the event id for the event you want to list).

You can consult all machine events and that can be used in the above query/script VMware vSphere API Reference Documentation

Hope this can help.

This is the second of "TIP Articles" that I plan to write when I have some time. So, please vote "Helpful" on this Article. And I encourage your comments and feedback.

Featured Post

CompTIA Security+

Learn the essential functions of CompTIA Security+, which establishes the core knowledge required of any cybersecurity role and leads professionals into intermediate-level cybersecurity jobs.

Join & Write a Comment

Teach the user how to install and configure the vCenter Orchestrator virtual appliance Open vSphere Web Client: Deploy vCenter Orchestrator virtual appliance OVA file: Verify vCenter Orchestrator virtual appliance boots successfully: Connect to the …
This video shows you how easy it is to boot from ISO images for virtual machines with the ISO images stored on a local datastore on the ESXi host.

Keep in touch with Experts Exchange

Tech news and trends delivered to your inbox every month