Risolvere il problema delle stampanti duplicate in Windows Server

Windows Server

Ormai la remotizzazione applicativa, così come quella desktop, è una delle pratiche più usate dalle aziende che vogliono consolidare l’erogazione di scenari in modo centralizzato, uniforme e sicuro. Gli ultimi due anni sono stati un grande accelerante, perché gli utenti sono stati a volte costretti a lavorare da casa ma non tutti erano dotati di un notebook e quindi le aziende si sono ritrovate a dover chiedere ai dipendenti ad usare il loro computer.

Chiaramente la VDI, o la RemoteApp, permette di mantenere una bolla di sicurezza elevata anche rispetto ad una rete di casa, o pubblica, piuttosto che un computer classico non protetto.

Da questo punto di vista, Parallels Remote Application Server è sicuramente una delle migliori soluzioni, che permette di gestire applicazioni, pool VDI, remote PC, cartelle, file e molto altro ancora in modo che i vostri utenti possano lavorarci da qualsiasi tipo di device.

Per chi ha usato il servizio di Remote Desktop Services di Windows Server sa che usando il classico driver MS Remote Desktop Printer, ad ogni sessione remota viene generata una stampante tante quante sono quelle installate sul PC di connessione per il numero di utenti che si collegano alla macchina remota.

Parallels RAS elimina questo problema, perché vi permette di portare solo la stampante predefinita oppure un set di stampanti definite dall’amministratore; inoltre, a differenza del driver MS, le stampanti rimangono esposte solo al singolo utente.

Quindi, assodato che la Virtual Desktop Infrastructure è una cosa bella, cosa succede quando, per un problema, le stampanti remote si duplicano di colpo e diventano esponenziali?

Esiste una condizione in Windows Server che, se le sessioni remote non vengono chiuse correttamente, impedisce al servizio interno di gestione stampanti di liberare gli oggetti e di aumentarle in modo esponenziale ad ogni connessione. Questa cosa, oltre che essere un problema per l’utente finale, è anche un rallentamento generale in fase di login.

La soluzione al problema è pulire il registro e per farlo è necessario usare PSExec, scaricabile dal sito Microsoft, e farlo lanciando una console di PowerShell come SYSTEM – Psexec.exe -I -s powershell.exe

Successivamente dovrete eseguire i seguenti comandi:

  • Remove-Item -Path “HKLM:\SYSTEM\CurrentControlSet\Enum\SWD\PRINTENUM*” -Recurse
  • Remove-Item -Path “HKLM:\SYSTEM\CurrentControlSet\Control\DeviceClasses*” -Recurse
  • Remove-Item -Path “HKLM:\Software\Microsoft\Windows NT\CurrentVersion\Print\Providers\Client Side Rendering Print Provider*” -Recurse

Un’altra operazione consigliata è quella di impostare una chiave di registro per rimuovere le stampanti al LogOff della sessione. Questa cosa può essere impostata tramite GPO (per Computer) e da applicare sui vostri Session Host.

Al termine potrete riavviare il computer e verificare che tutto sia tornato a posto.