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!