PowerCLI: Delete all snapshots by name

I have the issue that we use a cloud automation software, which for whatever reason failed to delete the hypervisor snapshots.

Now I was looking into a quick way to delete all those 520 snapshots with PowerCLI, and I found something pretty quick.


Based on that, I came up with my own quick PowerCLI one-liner, that’ll list all VMs and their snapshots:

Now, I could use another one-liner to delete all snapshots, that’ll look like this:

However, this will either crash an ESXi host (because the amount of the snapshots is too much) or overwealm the storage. So in the end I used a script like this:

This’ll limit the maximum amount of snapshots to delete at times to 5 (or 10 if you change the $maxtasks value).