Tipicamente gestiamo Hyper-V attraverso la comoda Management Console, tuttavia ci sono degli scenari in cui è necessario amministrare il server di virtualizzazione attraverso dei comandi powershell chiamati CMDLET
.
In questo breve articolo elencheremo alcuni dei cmdlet che ogni amministratore dovrebbe conoscere.
GET-VM
Con questo comando elencheremo tutte le virtual machine di Hyper-V con alcune informazioni utili come lo status, l’uptime e la memoria.
I cmdlet possono essere combinati per modificarne l’output.
Ad esempio con il comando get-vm WindowsXp | select * verranno visualizzati i dettagli della virtual machine “WindowsXP”
Mentre con Get-VM | Where { $_.State –eq ‘Running’ } si avrà la lista delle virtual machine avviate nel nostro Hyper-V
Start-VM
Con il comando start-vm possiamo avviare una macchina virtuale, aggiungendo –asjob avviamo un task in background per l’avvio della VM.
Possiamo anche avviarne più di una utilizzando il carattere jolly “*”
start-vm WindowsXp
start-vm WindowsXp –asjob
start-vm win* –asjob
Stop-VM
Stop-vm ci consente di spegnere una o più macchine virtuali, possiamo utilizzare i parametri opzionali –force (per forzare lo spegnimento) –turnoff (per togliere virtualmente l’energia alla macchina virtuale) e –save (per mettere la VM in saved state).
stop-vm Windows-Xp -force
stop-vm win* –save –force
stop-vm Windows-Xp –turnoff
Checkpoint-VM
Potete utilizzare il cmdlet Checkpoint-VM per creare una snapshot di una o più virtual machine.
Potrebbe tornare utile creare un’operazione pianificata per eseguire delle snapshot a cadenza regolare, in questo caso possiamo utilizzare la data come nome della snapshot.
get-vm * | checkpoint-vm -SnapshotName “Mensile $((GetDate).toshortdatestring())” -AsJob
Get-VMSnapshot
Con il comando get-vmsnapshot possiamo gestire i nostri chkeckpoint, visualizzando le snapshot di tutte le macchine virtuali o di una sola macchina, può essere comodo anche per rimuovere delle snapshot.
get-vmsnapshot * Ci mostra tutti i checkpoint di tutte le Vm.
get-vm “windowsxp” | get-vmsnapshot Mostra le snapshot della macchina chiamata “WindowsXp”
get-vm “windowsxp” | Get-VMSnapshot -Name “*4/20/2014” | Remove-VMSnapshot –whatif Rimuove le snapshot con nome contenente la stringa “4/20/2014”
Test-VHD
Con il comando test-vhd possiamo controllare lo stato dei dischi virtuali sia in formato vhd che vhdx.
Anche qui possiamo concatenare dei comandi per aumentare la funzionalità di test-vhd, ad esempio per testare tutti i vhd presenti in una cartella, utilizzeremo il cmdlet:
DIR | Test-VHD
Export-VM
Export-VM ci consente di esportare tutta la macchina virtuale(dischi,configurazioni e snapshot) in una cartella a nostra scelta.
export-vm “windowsXp” -Path E:\Backup\ –asjob
Get-VMNetworkAdapter
Questo comando mostra vari dettagli sulla configurazione di rete di una data virtual machine.
Get-VMNetworkAdapter -VMName charleston
Get-VMNetworkAdapter -VMName charleston | Select -expand ipaddresses