Uso di Hyper-V e Windows PowerShell

Dopo aver esaminato le nozioni di base della distribuzione di Hyper-V, la creazione di macchine virtuali e la gestione di queste macchine virtuali, si esaminerà come automatizzare molte di queste attività con PowerShell.

Restituisce un elenco di comandi Hyper-V

  1. Selezionare il pulsante Start di Windows e quindi digitare PowerShell.

  2. Eseguire il comando seguente per visualizzare un elenco ricercabile dei comandi di PowerShell disponibili con il modulo PowerShell di Hyper-V.

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

Si ottiene un risultato simile al seguente:

Screenshot della visualizzazione Griglia out che mostra i campi Tipo di comando, Nome, Versione e Origine.

  1. Per altre informazioni su un particolare comando di PowerShell, usare Get-Help. Ad esempio, l'esecuzione del comando seguente restituisce informazioni sul Get-VM comando Hyper-V.

    Get-Help Get-VM
    

    L'output mostra come strutturare il comando, i parametri obbligatori e facoltativi e gli alias che è possibile usare.

    Screenshot della schermata Amministratore di Windows Power Shell, che mostra l'output di come strutturare i comandi.

Restituisce un elenco di macchine virtuali

Usare il Get-VM comando per restituire un elenco di macchine virtuali.

  1. In PowerShell eseguire questo comando:

    Get-VM
    

    Verrà visualizzato un risultato simile al seguente:

    Screenshot della schermata Amministratore di Windows Power Shell che mostra l'output dopo aver immesso Get V M.

  2. Per restituire un elenco solo di macchine virtuali accese, aggiungere un filtro al Get-VM comando. È possibile aggiungere un filtro usando il Where-Object comando . Per altre informazioni sul filtro, vedere Uso della documentazione di Where-Object .

    Get-VM | where {$_.State -eq 'Running'}
    
  3. Per elencare tutte le macchine virtuali in uno stato spento, eseguire il comando seguente. Questo comando è una copia del comando del passaggio 2 con il filtro modificato da 'In esecuzione' a 'Off'.

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

Avviare e arrestare le macchine virtuali

  1. Per avviare una determinata macchina virtuale, eseguire il comando seguente con il nome della macchina virtuale:

    Start-VM -Name <virtual machine name>
    
  2. Per avviare tutte le macchine virtuali attualmente spente, ottenere un elenco di tali computer e inviare tramite pipe l'elenco al Start-VM comando:

    Get-VM | where {$_.State -eq 'Off'} | Start-VM
    
  3. Per arrestare tutte le macchine virtuali in esecuzione, eseguire il comando seguente:

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

Creare un checkpoint della macchina virtuale

Per creare un checkpoint usando PowerShell, selezionare la macchina virtuale usando il Get-VM comando e inviarlo tramite pipe al Checkpoint-VM comando . Assegnare infine al checkpoint un nome usando -SnapshotName. Il comando completo è simile al seguente:

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

Creare una nuova macchina virtuale

L'esempio seguente illustra come creare una nuova macchina virtuale in PowerShell Integrated Scripting Environment (ISE). Questo è un semplice esempio e può essere ampliato per includere funzionalità di PowerShell aggiuntive e distribuzioni di macchine virtuali più avanzate.

  1. Per aprire PowerShell ISE fare clic sull'avvio, digitare PowerShell ISE.

  2. Eseguire il codice seguente per creare una macchina virtuale. Per informazioni dettagliate sul New-VM comando, vedere la documentazione relativa a 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
    

Riepilogo e riferimenti

Questo documento illustra alcuni semplici passaggi per esplorare il modulo PowerShell hyper-V e alcuni scenari di esempio. Per altre informazioni sul modulo PowerShell di Hyper-V, vedere le informazioni di riferimento sui cmdlet di Hyper-V in Windows PowerShell.