Usare le USB Key sulle macchine virtuali Hyper-V 2012 R2

Con il nuovo Hyper-V presente in Windows Server 2012 R2 e nelle versioni client Pro ed Enterprise di Windows 8.1 (e chiaramente anche Windows 10), è stata introdotta una novità piuttosto interessante, ovvero la possibilità di far leggere le unità USB alle macchine virtuali guest.
Finalmente!
Purtroppo nelle prime versioni di Hyper-V questo non era possibile. Non direttamente.

In Windows 2008 occorreva collegare una unità USB alla macchina host, mettere la stessa unità offline tramite Disk Management, e quindi nelle impostazioni della macchina virtuale aggiungere tale unità come disco fisico. In Windows 2012 le cose inizialmente erano ancora peggiori, in quanto non era più possibile mettere offline una unità USB, e quindi l’unica possibilità era data dalla condivisione della unità tra macchina Host e macchina Guest. Il che, peraltro, comportava la necessità di mettere in collegamento la macchina fisica e quella virtuale.
Ora invece non solo è possibile, ma è possibile farlo “al volo”, senza necessità di mettere in rete la macchina fisica e quella virtuale. Non solo, l’unità USB resta leggibile sia dalla macchina host che da quella guest, contemporaneamente.
Questa preziosissima e in alcuni casi indispensabile funzionalità si deve alla nuova “modalità sessione avanzata” (Enhanced Session Mode); ancora, questa si deve al miglioramento della Virtual Machine Connection, che consente la connessione alla macchina virtuale in maniera simile a Desktop Remoto, consentendo il reindirizzamento delle risorse locali. In Hyper-V 2012, questo era possibile solo per tastiera, mouse e schermo, con anche funzionalità limitate di copia. Senza un percorso di rete tra macchina fisica e macchina virtuale, non si poteva fare altro.
Vediamo come funziona invece ora.
Innanzitutto, è necessario che nella macchina guest siano in esecuzione i Remote Desktop Services, quindi per prima cosa assicuratevi che lo siano.

Figura 1

Secondariamente, ricordiamoci pure che la funzionalità che andremo a vedere funziona solo con macchine guest di ultima generazione (Windows 2012 R2, e Windows 8.1/10).
Andiamo nella console Hyper-V, facciamo clic col destro sul nome della macchina Host e selezioniamo Impostazioni Hyper-V.

Figura 2

Nella finestra delle impostazioni, nella sezione Server, facciamo clic su Criteri modalità sessione avanzata e quindi mettiamo un segno di spunta sull’opzione Consenti modalità sessione avanzata. Questa opzione sarà attiva di default se Hyper-V che state usando è quello della versione client (Windows 8.1 o Windows 10), mentre invece sarà disattivata di default nella versione server (Windows 2012 R2).

Figura 3

Facciamo la stessa operazione nella sezione Utente, fecendo clic su Modalità sessione avanzata e mettendo la spunta sull’opzione Usa modalità sessione avanzata, il cui default segue gli stessi criteri.

Figura 4

A questo punto ci possiamo collegare alla macchina virtuale, ed un popup ci mostrerà le impostazioni di sessione. Faremo clic sulla freccia Mostra opzioni

Figura 5

Ancora, facciamo clic sulla scheda Risorse locali.

Figura 6

Ci vengono mostrate le risorse locali che vengono reindirizzate alla macchina virtuale.

Figura 7

A questo punto mettiamo un segno di spunta sui dispositivi e le risorse che intendiamo utilizzare nella sessione remota. Notiamo che non è necessario che tali dispositivi siano collegati, perché possiamo anche scegliere unità e dispositivi PnP che verranno collegati in seguito.

Figura 8

Ora siamo quasi a posto, perché ci basterà fare clic su OK e quindi su Connetti per avviare la connessione (avanzata) alla macchina virtuale. Effettuiamo quindi il logon.
Colleghiamo una chiave o una periferica USB alla macchina Host e, nella macchina Guest, apriamo il classicissimo esplora risorse. Sarà visibile il collegamento ad una unità indicata con la prima lettera di unità libera.

Figura 9

Si tratta, per l’appunto, della nostra unità USB appena collegata. Un doppio clic e la apriamo come qualsiasi risorsa. Possiamo scriverci, se volete, ed effettuare un rapido switch sulla macchina Host andando ad aprire la stessa unità.

Figura 10

Figura 11

Come si vede, l’unità in pratica risulta condivisa pure in mancanza di una connessione tra macchina virtuale e fisica. Nell’esempio sopra riportato, la macchina virtuale è su rete privata.
Enjoy!

Sebastiano Della Puppa

Autore

Sebastiano Della Puppa ha 49 anni, da quasi 30 si occupa di formazione, e da 20 anni si è specializzato in informatica. Nel 1999 si certifica Microsoft Certified System Engineer su Windows NT4 e inizia una lunga e solida collaborazione con una delle principali realtà italiane della formazione professionale. Acquisce presto lo status di Microsoft Certified Trainer, competenza che aggiorna negli anni svolgendo con costanza e professionalità docenze e consulenze su tutte le tecnologie legate ai sistemi operativi Microsoft e alla piattaforma SQL Server. Oggi è trainer certificato per diversi centri di formazione Microsoft e collabora come articolista e traduttore per diverse testate specializzate; con Apogeo e IALWeb pubblica diversi libri.