Per PowerShell Skript und Windows Task können automatisiert Snapshots aller virtuellen Maschienen eines Hyper-V Servers erstellt werden.
1. Erstellen des PowerShell Skripts:
$VM_Service = get-wmiobject -namespace root\virtualization Msvm_VirtualSystemManagementService
$ListofVMs = get-wmiobject -namespace root\virtualization Msvm_ComputerSystem -filter "ElementName <> Name "
foreach ($VM in [array] $ListOfVMs)
{
$VM_service.CreateVirtualSystemSnapShot($VM.__PATH)
}
Das Skript kann im Hyper-V Programmordner unter einem eindeutigen Namen wie Beispielsweise VMSnapshot.ps1 gespeichert und von dort gestartet werden.
2. Windows Task erstellen:
Als Aktion wird „Programm starten“ gewählt um PowerShell auszuführen:
%SystemRoot%\system32\WindowsPowerShellv1.0\powershell.exe
Als Argument folgendes verwenden:
"& 'C:\Program Files\Hyper-V\VMSnapshot.ps1' 'core' "
Jetzt kann ein individueller Zeitplan erstellt werden, an dem die Snapshots erstellt werden.
Am besten den Task direkt testen –> Rechtsklick auf den Task –> „Jetzt ausführen“ wählen.
Per Hyper-V Manager kann der aktuelle Status überprüft werden und sichergestellt werden, ob die Snapshots nach Erstellung zur Verfügung stehen.
Eine detailierte Anleitung inklusive Screenshots steht in kürze zur Verfügung.
Hi ich bekomme es leider nicht zum laufen!
Wann kommt den die detailierte Anleitung
Gruss 😉
Ui danke für den Hinweis. Hab ich völlig aus den Augen verloren.
Was funktioniert denn bei Dir nicht?
Na ich weiss garnicht wo ich richtig anfangen soll wie genau ich es erstellen soll bräuchte wirklich ne step by step Anleitung!
Da gibt es einen kleinen Fehler in der obigen Kurzanleitung. Ein Slash fehlt vor v1.0.
Der Pfad muss lauten: %SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe
Gruss
Jan
Noch ein Tipp.
Eventuell startet man das Skript über die Aufgabenverwaltung und im Ereignisprotokoll sieht alles „gut“ aus. Werden dann jedoch keine Snapshots erstellt empfiehlt es sich, das VMSnapshot.ps1 einmal direkt aus der Powershell zu starten. Hier kann dann die Fehlermeldung „Die Datei „C:\programme\hyper-v\VMSnapshot.ps1″ kann nicht geladen werden, da die Ausführung von Skripts auf diesem System deaktiviert ist.“ erscheinen und erklärt, warum keine Snapshots erstellt werden.
Im ersten Schritt zum Test eignet sich der Befehl „Set-ExecutionPolicy Unrestricted“, welcher das Ausführen aller Skripte, also auch unsignierter, zulässt.
In einer Produktivumgebung ist dann allerdings das Einschränken auf signierte oder eigene Skripte zu empfehlen. Mehr dazu unter: http://www.msxfaq.de/code/powershell.htm
Gruss (nochmals)
Jan
Hallo, gibt es auch die Möglichkeit einzelne Snapshots automatisch zu erzeugen?