Script per eliminazione stampanti locali

Script per eliminazione stampanti locali


In ambiente Terminal Server Windows 2003 Server dovendo installare i driver delle stampanti locali degli utenti remoti a volte accade che si creano malfunzionamenti con il servizio di spooler di stampa.


Il motivo è normalmente un driver non compatibile con i Servizi Terminal, il problema quando sono stati installati numerosi driver è che diventa complesso identificare quale o quali.

Un workaround che trovato è quello di eseguire le seguenti operazioni:

Arrestare il servizio di spooler

Avviare il servizio di spooler

Eliminare le stampanti degli utenti remoti installate all’atto della connessione RDP (e molto spesso quando si verifica il problema ve ne sono alcune relative a connessioni non più presenti)

Arrestare il servizio di spooler

Avviare il servizio di spooler

Dal momento che la procedura potrebbe essere ripetuta spesso conviene utilizzare uno script da eseguire quando si presenta il problema e da schedulare una volta al giorno ad esempio i ore notturne.

Un esempio può essere il seguente:


REM L'arresto genera nel log di sistema gli eventi Service Control Manager 7035 e 7036

REM L'avvio genera nel log di sistema gli eventi Service Control Manager 7035 e 7036

net stop spooler

net start spooler


DeletePrinters.vbs


net stop spooler

net start spooler

Dove DeletePrinters.vbs si occupa di eliminare le stampanti locali:

Set wmiService = GetObject("winmgmts:\\.\root\cimv2")

Set printers = wmiService.ExecQuery("Select * From Win32_Printer")

For Each printer in Printers

printer.Delete_

Next

Set wmiService = Nothing

Set printers = Nothing


---------------------------------------
Questo post è stato copiato integralmente da http://blogs.sysadmin.it/ermannog/archive/2009/12/29/3416.aspx

Commenti

Post popolari in questo blog

Come aumentare la dimensione di un disco VHD

Recupero di messaggi in quarantena dalla cassetta postale di quarantena per la posta indesiderata: Guida di Exchange 2007

Windows Update - errore 80070003