Delen via


Werken met Hyper-V en Windows PowerShell

Nu u de basisbeginselen van het implementeren van Hyper-V hebt doorlopen, virtuele machines maakt en deze virtuele machines beheert, gaan we eens kijken hoe u veel van deze activiteiten kunt automatiseren met PowerShell.

Een lijst met Hyper-V opdrachten retourneren

  1. Selecteer de startknop van Windows en typ vervolgens PowerShell.

  2. Voer de volgende opdracht uit om een doorzoekbare lijst met PowerShell-opdrachten weer te geven die beschikbaar zijn met de Hyper-V PowerShell-module.

Get-Command -Module hyper-v | Out-GridView

U krijgt zoiets als volgt:

Schermopname van de weergave Out Grid met de velden Opdrachttype, Naam, Versie en Bron.

  1. Voor meer informatie over een bepaalde PowerShell-opdracht gebruiken Get-Help. Als u bijvoorbeeld de volgende opdracht uitvoert, wordt informatie geretourneerd over de Get-VM opdracht Hyper-V.

    Get-Help Get-VM
    

    In de uitvoer ziet u hoe u de opdracht structureren, wat de vereiste en optionele parameters zijn en de aliassen die u kunt gebruiken.

    Schermopname van de Administrator Windows PowerShell-venster, die de uitvoer toont van hoe opdrachten te structureren.

Een lijst met virtuele machines retourneren

Gebruik de Get-VM opdracht om een lijst met virtuele machines te retourneren.

  1. Voer in PowerShell de volgende opdracht uit:

    Get-VM
    

    Dit ziet er ongeveer zo uit:

    Schermopname van het scherm Administrator Windows Power Shell met de uitvoer na het invoeren van Get V M.

  2. Als u een lijst met alleen ingeschakelde virtuele machines wilt retourneren, voegt u een filter toe aan de Get-VM opdracht. U kunt een filter toevoegen met behulp van de Where-Object opdracht. Zie de documentatie Using the Where-Object voor meer informatie over filteren.

    Get-VM | where {$_.State -eq 'Running'}
    
  3. Voer de volgende opdracht uit om alle virtuele machines weer te geven met de status Uitgeschakeld. Deze opdracht is een kopie van de opdracht uit stap 2, waarbij het filter is gewijzigd van 'Actief' naar 'Uit'.

    Get-VM | where {$_.State -eq 'Off'}
    

Virtuele machines starten en afsluiten

  1. Als u een bepaalde virtuele machine wilt starten, voert u de volgende opdracht uit met de naam van de virtuele machine:

    Start-VM -Name <virtual machine name>
    
  2. Als u alle momenteel uitgeschakelde virtuele machines wilt starten, haalt u een lijst met deze machines op en sluist u de lijst door naar de Start-VM opdracht:

    Get-VM | where {$_.State -eq 'Off'} | Start-VM
    
  3. Als u alle actieve virtuele machines wilt afsluiten, voert u de volgende opdracht uit:

Get-VM | where {$_.State -eq 'Running'} | Stop-VM

Een controlepunt voor een virtuele machine maken

Als u een controlepunt wilt maken met behulp van PowerShell, selecteert u de virtuele machine met behulp van de Get-VM opdracht en geeft u deze door aan de Checkpoint-VM opdracht. Geef ten slotte het controlepunt een naam met behulp van -SnapshotName. De volledige opdracht ziet er als volgt uit:

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

Een nieuwe virtuele machine maken

In het volgende voorbeeld ziet u hoe u een nieuwe virtuele machine maakt in de Ise (Integrated Scripting Environment) van PowerShell. Dit is een eenvoudig voorbeeld en kan worden uitgebreid met extra PowerShell-functies en meer geavanceerde VM-implementaties.

  1. Als u powerShell ISE wilt openen, klikt u op het startscherm, typt u PowerShell ISE.

  2. Voer de volgende code uit om een virtuele machine te maken. Zie de documentatie voor nieuwe VM's voor gedetailleerde informatie over de New-VM opdracht.

     $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
    

Afronding en Referenties

In dit document zijn enkele eenvoudige stappen getoond om de Hyper-V PowerShell-module en enkele voorbeeldscenario's te verkennen. Voor meer informatie over de Hyper-V PowerShell-module, zie de Hyper-V Cmdlets in Windows PowerShell.