Hyper-V Guest Console v1.0.0

In questo post Hyper-V Gestione remota avevo discusso quali sono gli strumenti nativamente disponibili per gestire remotamente Hyper-V.

Vi sono però scenari in cui questi risultano non utilizzabili o non così semplici si pensi ad esempio ai seguenti casi:

  • Gestione remota eseguita da computer con S.O. precedenti a Windows 7 in cui gli RSAT non possono essere utilizzati.
  • Gestione remota da parte di utenti esterni all’organizzazione a cui si vuole permettere solo alcune operazioni su determinare macchine virtuali.

Di qui la decisione di provare a scrivere Hyper-V Guest Console che ho pubblicato su CodePlex e che potete scaricare al seguente link Hyper-V Guest Console 1.0.0.

image

La console è scritta in Visual Studio 2008 utilizzando VB.NET e richiede il .NET Framework versione 3.5 o superiore e quindi può essere eseguita su sistemi Windows XP / Windows Server 2003 e superiori.

L’interfacciamento con Hyper-V avviene tramite WMI (a riguardo si veda Hyper-V WMI Provider) e ciò consente di non dover installare alcuna sul client alcuna dll.

La console permette di visualizzare alcune informazioni relative al server Hyper-V e alle macchine virtuali tra cui caratteristiche hardware, versioni del sistema operativo e degli Integration Components, utilizzo del processore. Inoltre permette di eseguire alcune operazioni sulle macchine virtuali come Start, Shutdow, Suspend, Pause e Stop.

Per quanto riguarda le impostazioni è possibile definire un elenco di Hyper-V server a cui connettersi, un intervallo di aggiornamento e una password di modifica delle impostazioni. Inoltre per evitare che il file di impostazioni possa essere passato ad altri prima di utilizzarlo viene eseguito il confronto del SID dell’utente con quello memorizzato nel file relativo all’utente che ha creato il file.

Il file d’impostazioni HVGuestConsole.settings che si trova in %Appdata%\DevAdmin\HVGuestConsole è criptato in questo modo è possibile gestire con ragionevole sicurezza scenari in cui si desidera demandare la gestione di una o più VM a personale esterno (si pensi al caso di un consulente ce deve poter avviare e arrestare una VM su cui sta sviluppando o configurando del software)

image

Per definire l’accesso all’Hyper-V server è possibile non specificare alcuna credenziale utilizzando l’autenticazione integrata di windows tramite l’utilizzo dell’account con cui è stata avviata la console o tramite le password di rete specificate. In alternativa è possibile specificare una credenziale di accesso che verrà memorizzata nel file di configurazione ma che comunque non sarà in chiaro essendo il file criptato.

image

Quindi è possibile specificare a quali macchine virtuali si desidera consentire l’accesso e quali sono le azioni che si desidera consentire.

image

Sia l’Hyper-V server che le macchine ammettono l’opzione Enabled che permette di disabilitare la gestione degli stessi da parte della console, ma al tempo stesso di mantenere le configurazioni per eventuali utilizzi futuri.

Questa è comunque la prima versione di questa console e, tempo permettendo, ho già in mente una serie di aggiunte e migliorie.

Se vi capita di provarla datemi un feedback.