Printer Server – Installare stampante locale senza interazione dell’utente

In questo post vediamo come installare i driver delle stampanti locali tramite script in maniera automatizzata e sui vari client senza la necessità dell’interazione con l’utente.

Le stampanti “Plug & Play” collegate localmente richiedono le credenziali di amministratore per poter essere installate come indicato nel seguente articolo:

KB 326473
You Are Prompted for Administrator Credentials When You Try to Install a Plug and Play Printer
http://support.microsoft.com/default.aspx?scid=kb;en-us;326473

Quindi, nel momento in cui si collega la stampante al computer, è visualizzato il wizard d’installazione che richiede l’inserimento delle credenziali di amministratore.

Il wizard è avviato automaticamente dal Sistema Operativo in quanto il driver richiede “Client-side Installations” come indicato nel seguente articolo MSDN:

Device Installation Types
http://msdn.microsoft.com/en-us/library/ms791105.aspx

Devcon tool permette di interagire direttamente con il Device Manager e quindi evitare che l’utente riceva la schermata di installazione dei driver.
Maggiori informazioni sono disponibili sul TechNet:

Devcon Overview
http://technet.microsoft.com/en-us/library/cc737393(WS.10).aspx

Per quanto riguarda le stampanti, è possibile creare uno script di logon che esegua il rescan delle periferiche collegate al computer:

 

devcon.exe /rescan

 

A questo punto, la nuova stampante collegata localmente al PC sarà aggiunta dal Plug & Play nel Device Manager e tramite il seguente comando si eseguirà l’aggiornamento del driver:

devcon update %InfFile% %HardwareID%

Se il driver della stampante che vogliamo installare è inbox, ovvero presente nel CD di installazione del Sistema Operativo, è possibile far puntare %InfFile% a C:\WINDOWS\inf\ntprint.inf che contiene tutta la lista delle stampanti riconosciute da Windows.

Un altro comando utile per identificare tutte le stampanti installate nel computer è il seguente:

devcon.exe listclass printers

Inoltre, è anche possibile rimuovere la periferica tramite questo comando:

devcon.exe /remove %HardwareID%

Se non si conosce a priori l’Hardware ID della periferica installata nel computer, ma si conosce la lista delle stampanti presenti in azienda, è possibile creare l’installazione di tutti i driver conosciuti, in quanto devcon fallisce in caso non sia presente la periferica corrispondente all’Hardware ID specificato.
Questo semplifica la scrittura dello script d’installazione perché non richiede a priori la ricerca del tipo di periferica, anche se è possibile gestire i return code come indicato in questa sezione:

Devcon Remarks
http://technet.microsoft.com/en-us/library/cc779075(WS.10).aspx

Il download dell’applicazione è disponibile a questo indirizzo:

KB 311272
The DevCon command-line utility functions as an alternative to Device Manager
http://support.microsoft.com/kb/311272

Infine, una guida utile per controllare tramite Group Policy quali periferiche possono essere installate in Windows Vista e Windows Server 2008:

Device Management and Installation Step-by-Step Guide: Controlling Device Driver Installation and Usage with Group Policy
http://technet.microsoft.com/en-us/library/cc731387(WS.10).aspx

Daniele Maso
Senior Support Engineer
Microsoft Enterprise Platform Support