Uso di Hyper-V e Windows PowerShell
Dopo aver esaminato in dettaglio le nozioni di base per la distribuzione di Hyper-V, la creazione di macchine virtuali e la gestione di queste, vediamo come è possibile automatizzare molte di queste attività con PowerShell.
Ottenere un elenco di comandi Hyper-V
- Fare clic sul pulsante Start di Windows e digitare PowerShell.
- Eseguire il comando seguente per visualizzare l'elenco disponibile per la ricerca dei comandi PowerShell utilizzabili con il modulo PowerShell di Hyper-V.
Get-Command -Module hyper-v | Out-GridView
Si otterrà un elenco simile al seguente:
- Per altre informazioni su un particolare comando PowerShell, usare
Get-Help
. Se ad esempio si esegue il comando seguente, si ottengono informazioni sul comandoGet-VM
di Hyper-V.
Get-Help Get-VM
L'output mostra la sintassi del comando, i parametri obbligatori e facoltativi e gli alias che è possibile utilizzare.
Ottenere un elenco di macchine virtuali
Per ottenere un elenco di macchine virtuali, usare il comando Get-VM
.
- In PowerShell eseguire questo comando:
Get-VM
Verrà visualizzata una schermata simile alla seguente:
- Per ottenere l'elenco delle sole macchine virtuali in funzione, aggiungere un filtro al comando
Get-VM
. Per aggiungere un filtro è possibile usare il comandoWhere-Object
. Per altre informazioni sui filtri, vedere la documentazione relativa all'uso di Where-Object.
Get-VM | where {$_.State -eq 'Running'}
- Per ottenere l'elenco di tutte le macchine virtuali disattivate, eseguire il comando seguente. Questo comando è una copia del comando al passaggio 2, ma il filtro è stato modificato da 'Running' a 'Off'.
Get-VM | where {$_.State -eq 'Off'}
Avviare e arrestare le macchine virtuali
- Per avviare una macchina virtuale specifica, eseguire il comando seguente con il nome della macchina virtuale desiderata:
Start-VM -Name <virtual machine name>
- Per avviare tutte le macchine virtuali disattivate, ottenerne l'elenco e inviarlo tramite pipe al comando
Start-VM
:
Get-VM | where {$_.State -eq 'Off'} | Start-VM
- Per arrestare tutte le macchine virtuali in esecuzione, eseguire il comando seguente:
Get-VM | where {$_.State -eq 'Running'} | Stop-VM
Creare il checkpoint di una macchina virtuale
Per creare un checkpoint usando PowerShell, selezionare la macchina virtuale con il comando Get-VM
e inviarla tramite pipe al comando Checkpoint-VM
. Assegnare infine un nome al checkpoint usando -SnapshotName
. Il comando completo ha l'aspetto 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). È un esempio semplice che è possibile ampliare inserendo ulteriori funzionalità di PowerShell e distribuzioni più avanzate di macchine virtuali.
- Per aprire PowerShell ISE fare clic sul pulsante Start e digitare PowerShell ISE.
- Per creare una macchina virtuale eseguire il codice seguente . Per informazioni dettagliate sul comando New-VM, vedere la relativa
New-VM
documentazione.
$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 documentazione di riferimento
Questo documento ha illustrato alcuni semplici passaggi per esplorare il modulo PowerShell di Hyper-V, nonché alcuni scenari di esempio. Per altre informazioni sul modulo PowerShell di Hyper-V, vedere la documentazione di riferimento sui cmdlet di Hyper-V in Windows PowerShell.