Im Artikel Verwaltung einer Hyper-V Testumgebung via PowerShell - Teil 1 Reset [1] habe ich erklärt, wie man einen Snapshot für alle VMs wiederherstellt. Wie man auch das Erzeugen der Snapshots per Powershell-Skript vereinfacht, zeige ich im folgenden. Auch hier werden wir uns wieder das PowerShell-Projekt von Codeplex[2] zu nutze machen

Snapshot der Umgebung

Wie beim Reset brauchen wir auch für den Snapshot erst einmal ein paar zusätzliche Infos:

Name des Hyper-V-Hosts:

TEST

Name des neuen Snapshots:

SNAPSHOT-NEW

Namen aller virtuellen Maschinen:

WIN7TEST01 TMGTEST01 DCTEST01 MAILTEST01

Stopreihenfolge:

  1. WIN7TEST01

  2. MAILTRI01

  3. TMGTRI01

  4. DCTEST01

Startreihenfolge:

  1. DCTEST01

  2. TMGTEST01

  3. MAILTEST01

  4. WIN7TEST01

Zu aller erst müssen wir auch hier die Module von codeplex importieren:

Import-Module 'C:Hyper-V-PS-ModuleHyperV.ps1'

Fahren wir nun alle Maschinen in der korrekten Reihenfolge herunter um einen gut funktionierenden Snapshot erzeugen zu können:

Get-VM WIN7TEST01 -Server TEST | Shutdown-VM -wait Get-VM MAILTEST01 -Server TEST | Shutdown-VM -wait Get-VM TMGTEST01 -Server TEST | Shutdown-VM -wait Get-VM DCTEST01-Server TEST | Shutdown-VM -wait

Nun erzeugen wir den Snapshot:

Get-VM -Server TEST | New-VMSnapshot -force -wait

Da per Default die Namen der Snapshots generiert werden, ändern wir diesen nun in den gewünschten Namen:

Get-VMSnapshot -Server TEST -newest | Rename-VMSnapshot -NewName SNAPSHOT-NEW -force

Zum Schluss starten wir, wie in Teil 1 wieder alle VMs:

Get-VM DCTEST01 -Server TEST | Start-VM -wait Get-VM TMGTEST01 -Server TEST | Start-VM -wait Get-VM MAILTEST01 -Server TEST | Start-VM -wait Get-VM WIN7TEST01 -Server TEST | Start-VM -wait

[1] https://www.escde.net/blog/verwaltung-einer-hyper-v-testumgebung-via-powershell-teil-1-reset?rq=Verwaltung%20einer%20Hyper-V%20
[2] http://pshyperv.codeplex.com/