Soluzione
Anzitutto è necessaria una porta parallela sull’host hypervisor, altrimenti dove si connette la chiave hardware?!
Da un po’ di tempo a questa parte sono presenti solamente porte seriali D-SUB a 9 PIN, in quel caso è necessario acquistare un cavo che va da D-SUB 9 femmina a D-SUB 25 maschio.
In alternativa, se sull’host non è presente alcun connettore D-SUB, è sufficiente acquistare un adattatore USB a D-SUB 25.
Ho messo due link qui a lato.
Scaricato il software nell’ultima release a questo link e decompresso in una cartella definitiva (sono solito gestire tutti i tool delle macchine virtuali in una cartella dove sono ospitati gli elementi delle macchine virtuali, es.: c:\Hyper-V\NP2COM\), installato .NET 3/3.5/4.4.5, si apre il prompt dei comandi come amministratore e si registra il servizio con questa stringa:
c:\windows\microsoft.net\framework\v4.0.30319\installutil.exe -t C:\Hyper-V\NP2COM\NP2COMS.exe
Non ho utilizzato lo strumento NP2COMV.exe per generare un file di configurazione, mi sono limitato a modificare il file test.n2c già presente nella cartella, dove l’unico elemento da sostituire è la COM sotto <ComPort>, va impostata la COM fisica dove è connessa la chiave hardware.
<?xml version="1.0"?>
<Settings xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<MachineName>.</MachineName>
<NamedPipe>comport</NamedPipe>
<ComPort>COM1</ComPort>
<BaudRate>9600</BaudRate>
<StopBits>One</StopBits>
<Parity>None</Parity>
<DataBits>8</DataBits>
</Settings>
Infine ho attivato la COM sulla macchina virtuale, impostando come nome pipe lo stesso impostato nella configurazione del servizio.
Ho generato quindi uno script Powershell per effettuare avviare contemporaneamente il servizio NP2COM e la macchina virtuale:
Start-VM -Name "nome macchina virtuale"
Start-Service -Name "NP2COMService"
In questo modo ho risolto ed ho la possibilità di attivare la sessione con la chiave hardware senza problemi.
L’unico difetto è il fatto che se la macchina virtuale viene spenta, alla riaccensione per qualche motivo il servizio NP2COMService sembra non comunicare più correttamente con la macchina virtuale (non vede la chiave di licenza hardware), ma ho risolto inserendo uno Stop-Service -Name “NP2COMService” -Force in testa allo script, così da forzare un riavvio del servizio ad ogni riavvio della macchina virtuale.