Bas Vinken over at the Kadaster (the Dutch Land Registry Office) has written a PowerShell script with great potential. It first detects and then removes the snapshots from all your virtual machines. This script uses the PowerShell snap-in from the VI-Toolkit. Great work Bas.
Get-VIServer "VCSERVER" -User bas -Password vinken
$AllVirtualMachines = Get-VM
foreach ($VirtualMachine in $AllVirtualMachines)
{$AllSnapshots=Get-Snapshot -VM $VirtualMachine
foreach ($Snapshot in $AllSnapshots)
{If ($Snapshot.ID -like "VirtualMachineSnapshot-*")
{Write-Host $VirtualMachine.Name, $Snapshot.Name, $Snapshot.Description
Remove-Snapshot -snapshot $Snapshot –Confirm Write-Host } } }