I needed a way to find and remove all snapshots quickly and easily from the ESXi 4 command line. Note that I am not a Windows user and would rather punch myself square in the face than use PowerShell.
So here it is… and let me warn you its really nasty
# for vm in `vim-cmd vmsvc/getallvms | awk '{ print $1 }' | grep -v Vmid`
> do
> vim-cmd vmsvc/snapshot.removeall $vm
> done
Note that this could actually take a really long time to run depending on the size of your snapshots.
Basically it finds the vmid of each and every vm running on the box and attempts to remove any snapshots (if they exist). Note that you will need to do this on every node in your cluster. I plan to write a better version of this script at somepoint that will search the datastores for snapshots and the derive the vmid from that, but not today.
Raymond Duffield
Wow, great post.Thanks Again. Awesome.