Arbeiten mit Hyper-V und Windows PowerShell

Nachdem Sie sich mit den Grundlagen der Bereitstellung von Hyper-V sowie dem Erstellen und Verwalten virtueller Computer vertraut gemacht haben, wollen wir uns nun ansehen, wie viele dieser Aktivitäten mithilfe von PowerShell automatisiert werden können.

Zurückgeben einer Liste von Hyper-V-Befehle

  1. Klicken Sie auf die Windows-Schaltfläche „Start“, und geben Sie powershell ein.
  2. Führen Sie den folgenden Befehl aus, um eine durchsuchbare Liste mit PowerShell-Befehlen anzuzeigen, die für das PowerShell-Modul für Hyper-V verfügbar sind.
Get-Command -Module hyper-v | Out-GridView

Sie erhalten eine Rückgabe wie diese:

Screenshot of the Out Grid View showing the Command Type, Name, Version, and Source fields.

  1. Um weitere Informationen zu einem bestimmten PowerShell-Befehl zu erhalten, verwenden Sie Get-Help. Bei Ausführen des folgenden Befehls werden z. B. Informationen zum Hyper-V-Befehl Get-VM zurückgegeben.
Get-Help Get-VM

Die Ausgabe veranschaulicht die Struktur des Befehls, die erforderlichen und optionalen Parameter sowie die Aliase, die Sie verwenden können.

Screenshot of the Administrator Windows Power Shell screen, showing the output of how to structure commands.

Abrufen einer Liste virtueller Computer

Mit Get-VM können Sie eine Liste virtueller Computer zurückgeben.

  1. Führen Sie in PowerShell den folgenden Befehl aus:
Get-VM

Die Ausgabe ist wie folgt:

Screenshot of the Administrator Windows Power Shell screen showing the output after entering Get V M.

  1. Um nur eingeschaltete virtuelle Computer zurückzugeben, fügen Sie dem Befehl Get-VM einen Filter hinzu. Ein Filter kann mit dem Where-Object-Befehl hinzugefügt werden. Weitere Informationen zum Filtern finden Sie in der Dokumentation zum Verwenden von „Where-Object“.
Get-VM | where {$_.State -eq 'Running'}
  1. Listen Sie alle virtuellen Computer in einen funktionsfähigen Status, off, führen Sie den folgenden Befehl. Mit diesem Befehl wird eine Kopie des Befehls aus Schritt 2 mit dem Filter aus „Running“ in „Off“ geändert.
Get-VM | where {$_.State -eq 'Off'}

Starten und Herunterfahren von virtuellen Maschinen

  1. Um einen bestimmten virtuellen Computer zu starten, führen Sie den folgenden Befehl mit dem Namen des virtuellen Computers:
Start-VM -Name <virtual machine name>
  1. Um alle momentan ausgeschalteten virtuellen Computer zu starten, rufen Sie eine Liste dieser Computer ab, und übergeben Sie die Liste an den Befehl Start-VM:
Get-VM | where {$_.State -eq 'Off'} | Start-VM
  1. Zum Herunterfahren aller ausgeführten virtuellen Computer führen Sie diesen Befehl aus:
Get-VM | where {$_.State -eq 'Running'} | Stop-VM

Erstellen eines VM-Prüfpunkts

Wählen Sie zum Erstellen eines Prüfpunkts mithilfe von PowerShell den virtuellen Computer mit dem Befehl Get-VM aus, und übergeben Sie diesen an den Befehl Checkpoint-VM. Benennen Sie abschließend den Prüfpunkt mit dem Befehl -SnapshotName. Der vollständige Befehl sieht folgendermaßen aus:

Get-VM -Name <VM Name> | Checkpoint-VM -SnapshotName <name for snapshot>

Erstellen einer neuen VM

Im folgenden Beispiel wird das Erstellen ein neues virtuellen Computers in der PowerShell ISE (Integrated Scripting Environment) gezeigt. Dies ist ein einfaches Beispiel, das mit zusätzlichen PowerShell-Features und komplexeren VM-Bereitstellungen erweitert werden kann.

  1. Geben Sie zum Öffnen der PowerShell ISE im Startmenü PowerShell ISE ein.
  2. Führen Sie den folgenden Code zum Erstellen eines virtuellen Computers aus. In der Dokumentation zu New-VM finden Sie ausführliche Informationen zum Befehl New-VM.
 $VMName = "VMNAME"

 $VM = @{
     Name = $VMName
     MemoryStartupBytes = 2147483648
     Generation = 2
     NewVHDPath = "C:\Virtual Machines\$VMName\$VMName.vhdx"
     NewVHDSizeBytes = 53687091200
     BootDevice = "VHD"
     Path = "C:\Virtual Machines\$VMName"
     SwitchName = (Get-VMSwitch).Name
 }

 New-VM @VM

Wrappen und Verweise

Dieses Dokument hat einige einfache Schritte zum Explorer das Hyper-V-PowerShell-Modul sowie einige Beispielszenarios gezeigt. Weitere Informationen zum PowerShell-Modul für Hyper-V finden Sie in der Referenz zu Hyper-V-Cmdlets in Windows PowerShell.