If you want to manually select the snapshots you want to delete in vSphere through PowerCLI the only viable option is piping your snapshots to the Out-GridView Cmdlet. Unfortunately it uses the default display properties of the snaps
$snaps = Get-VM | Get-Snapshot $snaps | Out-GridView -PassThru
As you can see the properties that are shown by default don’t help at all. So what do we do? Right, we select the properties we want to see before piping to Out-GridView:
So far so good, but what happens when we pipe the selected snapshots to Remove-Snapshot? It fails. Select-Object creates new objects and they have a different type than the snapshot objects:
The best workaround is to use the Select-FromGridView function from the technet gallery which separates the displayed object’s properties from the objects passed down the pipeline:
$delete = $snaps | Select-FromGridView -By vm,created,name,description,sizegb $delete | Remove-Snapshot -RunAsync -Confirm:$false -Verbose
Hope this helps 🙂