Alle Snapshots einer VM löschen

Nachdem der letzte Artikel darum handelte, Snapshots von VHDs zu mergen, geht es hier um komplette VMs.

Auch hier müssen wir ggf. wieder die Hyper-V PowerShell-Module nachinstallieren:

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-Management-PowerShell

Im Anschluss findet er auch alle hier genannten PS-Befehle.

Löschen aller Snapshots einer VM

Simpler Einzeiler:

Get-VMSnapshot -VMName "DC" | Remove-VMSnapshot

DC ersetzen wir natürlich durch den Namen der VM. Der Befehl liefert keinen Fortschritt, sondern quittiert direkt.

Löschen aller Snapshots aller VMs

Auch hier: eine Zeile, ein Ergebnis:

Get-VM | Get-VMSnapshot | Remove-VMSnapshot

Und ebenfalls: kein Fortschritt

Löschen aller Snapshots einer VM, die älter als 30 Tage sind

Die Zahl 30 lässt sich natürlich beliebig verändern

Get-VMSnapshot -VMName "DC" | Where-Object {$_.CreationTime -lt (Get-Date).AddDays(-30) } | Remove-VMSnapshot

Auf das Vorzeichen der 30 Tage achten

Löschen aller Snapshots aller VMs, die älter als 30 Tage sind

Wer PowerShell kennt, konnte sich das fast denken:

Get-VM | Get-VMSnapshot | Where-Object {$_.CreationTime -lt (Get-Date).AddDays(-30) } | Remove-VMSnapshot
Kategorien:HyperV