Powershell: Creazione di un report delle VM su un Hyper-V host
La gestione di host Hyper-V senza l’ausilio di Virtula Machine Manager (VMM) nel tempo può comportare alcune difficoltà come ad esempio:
- il conteggio del totale delle vCPU assegnate alle varie VM in modo che eccedano le capacità computazionali dell’host Hyper-V;
- il conteggio del totale della memoria assegnata alle varie VM in modo che ecceda la memoria disponibile sull’host Hyper-V;
- la gestione della schedulazione dell’avvio delle VM quando l’host Hyper-V viene riavviato;
- il monitoraggio della generazione e della versione delle VM.
Per ottenere queste informazioni ho svilupato uno script disponibile al seguente repository su GitHub PowerShell/Create-ReportVMs at ermannog/PowerShell (github.com), lo script è stato testato su sistemi Windows Server 2012 R2 o superiori.
Di seguito un esempio del report che lo script può generare:
![](https://www.devadmin.it/wp-content/uploads/2023/03/Powershell-Creazione-di-un-report-delle-VM-su-un-Hyper-V-host-01-1024x537.png)
Il report confronta le capacità hardware dell’host Hyper-V in termini di processore e memoria con le vCPU e la memoria assegnata alle VM in modo da consentire rapidamente quanto le risorse hardware dell’host Hyper-V sono utilizzate e quante risorse in termini di processore e memoria sono disponibili per nuove VM.
Le VM che vengono prese in considerazione sono quelle che sono impostate “potenzialente” per l’avvio automatico, ovvero le VM che vengono avviate automaticamente o che vengono avviate perhè erano in esecuzione quanto l’host Hyper-V è stato arrestato.
La lista delle VM è ordinato in base allo start delay per permettere di capire rapidamente come le VM si avviano e come eventualmente configurare lo start delay di una nuova VM.
Può tornare utile creare il report nel desktp di tutti gli utenti con lo script batch Create-ReportVMs.cmd disponibile come esempio nel Repository su GitHub e schedularne l’avvio ad ogni logon di un’utente sull’host Hyper-V.
![](https://www.devadmin.it/wp-content/uploads/2023/03/Powershell-Creazione-di-un-report-delle-VM-su-un-Hyper-V-host-02.png)
![](https://www.devadmin.it/wp-content/uploads/2023/03/Powershell-Creazione-di-un-report-delle-VM-su-un-Hyper-V-host-03.png)
![](https://www.devadmin.it/wp-content/uploads/2023/03/Powershell-Creazione-di-un-report-delle-VM-su-un-Hyper-V-host-04.png)