ileezhun - Fotolia

Die PowerShell-Befehle Import-VM und Export-VM in Hyper-V

Obwohl man mit Hyper-V Manager oder SCVMM VMs im- und exportieren kann, ist es ebenso einfach, PowerShell-Befehle zu verwenden, um dies auszuführen.

Man kann virtuelle Maschinen (VMs) mit dem Hyper-V Manager oder System Center Virtual Machine Manager (SCVMM) importieren und exportieren, doch ebenso einfach sind PowerShell-Befehle.

Microsoft bietet die notwendigen Befehle, um sowohl Import- als auch Exportprozesse für VMs mit Hyper-V auszuführen.

Export-VM Cmdlet

Das Export-VM PowerShell Cmdlet ist auf jedem Computer verfügbar, auf dem die Hyper-V-PowerShell-Rolle installiert ist. Man kann jedoch auch Hyper-V PowerShell-Module auf einem Management-Server installieren und die erforderlichen Hyper-V-Operationen ausführen. Um eine einzelne VM zu exportieren, führt man folgenden Befehl aus:

“Export-VM <VMName> -Path “<PathToExportVMFiles>”

Export-VM führt die erforderlichen Aktionen aus, bevor man VM-Dateien exportiert, zum Beispiel das Erstellen eines Ordners auf dem in der –Path Variable angegebenen Pfad, der drei Unterordner erstellt: Snapshots, Virtual Hard Disks und Virtual Machines. Diese Unterordner enthalten VM-Dateien, wie zum Beispiel die XML-Datei (Extensible Markup Language), welche die VM-Konfigurations-, VM-Snapshot- und VHDX-Dateien enthält.

Wenn man alle VMs, die auf dem lokalen Hyper-V-Host laufen, exportieren möchten, führt man den Befehl Get-VM | Export-VM -Path <PathToExportVMFiles> aus. Sollen bestimmte VMs exportiert werden, muss man eine Textdatei erstellen, die die VM-Namen enthält, und dann das untenstehende PowerShell-Skript ausführen.

$VMFile="C:\Temp\VMs.TXT"

 

ForEach ($VMName in Get-Content "$VMFile")

 

{

 

Export-VM -Name $VMName -Path "E:\VMs\"

 

}

Dies exportiert nur die VMs, die in der Datei C: \Temp\VMs.txt angegeben sind. Alle VMs werden unter dem E: \VMs-Ordner exportiert.

Es ist wichtig zu beachten, dass Export-VM keinen –ComputerName Parameter unterstützt, mit dem man eine VM auf einem entfernten Hyper-V-Host exportiert.

Import-VM Cmdlet

Das PowerShell-Cmdlet Import-VM hilft beim Importieren einer VM. Um eine VM zu importieren, führt man folgenden Befehl aus:

Import-VM –Path “E:\VMs\VMGUID.XML” OR <E:\VMs\VMGUD.VMCX”

Beim Importieren einer VM führt der Importprozess die notwendigen Schritte aus. Wenn die VM zum Beispiel bereits bei Hyper-V registriert ist, löscht sie die existierende VM mit der gleichen globalen eindeutigen Kennung und registriert die VM erneut.

Wenn man die VM auf einem anderen Hyper-V-Host einspielt, wird der Einspielprozess nur mit der Registrierung der VM fortgesetzt, da die VM noch nicht existiert. Man sollte beachten, dass nicht mehrere VMs mit einem PowerShell-Skript importiert werden, da der Importprozess auch die Kompatibilität der VM mit dem Ziel-Hyper-V-Host überprüft.

Folgen Sie SearchEnterpriseSoftware.de auch auf Twitter, Google+, Xing und Facebook!

Nächste Schritte

Grundlagen zur Verwendung von PowerShell-Skripten.

Kostenloses E-Handbook mit Praxistipps zu PowerShell DSC.

Lassen sich SCVMM-Dienstvorlagen per PowerShell überprüfen?

Erfahren Sie mehr über Containervirtualisierung