Arbeiten mit Hyper-V und Windows PowerShellWorking with Hyper-V and 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.Now that you have walked through the basics of deploying Hyper-V, creating virtual machines and managing these virtual machines, let’s explore how you can automate many of these activities with PowerShell.

Zurückgeben einer Liste von Hyper-V-BefehleReturn a list of Hyper-V commands

  1. Klicken Sie auf der Windows-Schaltfläche „Start“, und geben Sie powershell ein.Click on the Windows start button, type PowerShell.
  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.Run the following command to display a searchable list of PowerShell commands available with the Hyper-V PowerShell Module.
Get-Command -Module hyper-v | Out-GridView

Sie erhalten eine Rückgabe wie diese:You get something like this:

  1. Um weitere Informationen zu einem bestimmten PowerShell-Befehl zu erhalten, verwenden Sie Get-Help.To learn more about a particular PowerShell command use Get-Help. Bei Ausführen des folgenden Befehls werden z. B. Informationen zum Hyper-V-Befehl Get-VM zurückgegeben.For instance running the following command returns information about the Get-VM Hyper-V command.
Get-Help Get-VM

Die Ausgabe veranschaulicht die Struktur des Befehls, die erforderlichen und optionalen Parameter sowie die Aliase, die Sie verwenden können.The output shows you how to structure the command, what the required and optional parameters are, and the aliases that you can use.

Abrufen einer Liste virtueller ComputerReturn a list of virtual machines

Mit Get-VM können Sie eine Liste virtueller Computer zurückgeben.Use the Get-VM command to return a list of virtual machines.

  1. Führen Sie in PowerShell folgenden Befehl aus:In PowerShell, run the following command:
Get-VM

Die Ausgabe ist wie folgt:This displays something like this:

  1. Um nur eingeschaltete virtuelle Computer zurückzugeben, fügen Sie dem Befehl Get-VM einen Filter hinzu.To return a list of only powered on virtual machines add a filter to the Get-VM command. Ein Filter kann mit dem Where-Object-Befehl hinzugefügt werden.A filter can be added by using the Where-Object command. Weitere Informationen zum Filtern finden Sie in der Dokumentation zum Verwenden von „Where-Object“.For more information on filtering see the Using the Where-Object documentation.
Get-VM | where {$_.State -eq 'Running'}
  1. Listen Sie alle virtuellen Computer in einen funktionsfähigen Status, off, führen Sie den folgenden Befehl.To list all virtual machines in a powered off state, run the following command. Mit diesem Befehl wird eine Kopie des Befehls aus Schritt 2 mit dem Filter aus „Running“ in „Off“ geändert.This command is a copy of the command from step 2 with the filter changed from 'Running' to 'Off'.
Get-VM | where {$_.State -eq 'Off'}

Starten und Herunterfahren virtueller ComputerStart and shut down virtual machines

  1. Um einen bestimmten virtuellen Computer zu starten, führen Sie den folgenden Befehl mit dem Namen des virtuellen Computers aus:To start a particular virtual machine, run the following command with name of the virtual machine:
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:To start all currently powered off virtual machines, get a list of those machines and pipe the list to the Start-VM command:
Get-VM | where {$_.State -eq 'Off'} | Start-VM
  1. Zum Herunterfahren aller ausgeführten virtuellen Computer führen Sie diesen Befehl aus:To shut down all running virtual machines, run this:
Get-VM | where {$_.State -eq 'Running'} | Stop-VM

Erstellen eines VM-PrüfpunktsCreate a VM checkpoint

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.To create a checkpoint using PowerShell, select the virtual machine using the Get-VM command and pipe this to the Checkpoint-VM command. Benennen Sie abschließend den Prüfpunkt mit dem Befehl -SnapshotName.Finally give the checkpoint a name using -SnapshotName. Der vollständige Befehl sieht folgendermaßen aus:The complete command looks like the following:

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

Erstellen eines neuen virtuellen ComputersCreate a new virtual machine

Im folgenden Beispiel wird das Erstellen ein neues virtuellen Computers in der PowerShell ISE (Integrated Scripting Environment) gezeigt.The following example shows how to create a new virtual machine in the PowerShell Integrated Scripting Environment (ISE). Dies ist ein einfaches Beispiel, das mit zusätzlichen PowerShell-Features und komplexeren VM-Bereitstellungen erweitert werden kann.This is a simple example and could be expanded on to include additional PowerShell features and more advanced VM deployments.

  1. Geben Sie zum Öffnen der PowerShell ISE im Startmenü PowerShell ISE ein.To open the PowerShell ISE click on start, type PowerShell ISE.
  2. Führen Sie den folgenden Code zum Erstellen eines virtuellen Computers aus.Run the following code to create a virtual machine. In der Dokumentation zu New-VM finden Sie ausführliche Informationen zum Befehl New-VM.See the New-VM documentation for detailed information on the New-VM command.
 $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

Zusammenfassung und ReferenzenWrap up and References

In diesem Dokument wurden einige einfache Schritte mit dem PowerShell-Modul für Hyper-V sowie verschiedene Beispielszenarien vorgestellt.This document has shown some simple steps to explorer the Hyper-V PowerShell module as well as some sample scenarios. Weitere Informationen zum PowerShell-Modul für Hyper-V finden Sie in der Referenz zu Hyper-V-Cmdlets in Windows PowerShell.For more information on the Hyper-V PowerShell module, see the Hyper-V Cmdlets in Windows PowerShell reference.