Author Posts

November 29, 2017 at 7:59 pm

Hey Folks!

We're having issues with orphaned snapshots being left behind on failed Hyper-V backups. The script I run to delete the old snaps is fairly straightforward:

Get-VMSnapshot -VMName VMNAME | Remove-VMSnapshot

Doing this is fairly quick, but I figured I could automate this if I put a little more effort in. Here's what I have so far.

If I run the following script on the Hyper-V Host I get a nice little CSV file with the names that would be the "VMNAME" above:

Get-VM | Select-Object Name | Export-CSV PATH -NoTypeInformation

It's here that I'm struggling to read the CSV file and populate the "VMNAME" portion from the CSV file? Any help would be greatly appreciated!


November 29, 2017 at 8:20 pm

Something like this maybe (caveat I don't know all the hyper v cmdlets or what your csv looks like), assuming your csv has name at the top and all the vm name's below it

import-csv C:\servers.csv | % {Get-VMSnapshot -VMName $ | Remove-VMSnapshot}

or this might work (see above caveat)

Get-vm | get-vmsnapshot | remove-vmsnapshot

November 29, 2017 at 8:25 pm

Hi Jon,

The first script worked perfectly, thanks!