Blocco della funzionalità dello spool di stampa

Nel mio caso l’issue si è verificato su un server di stampa con Windows Server 2016, ma il problema è indipendente dal sistema operativo. Scendendo nel dettaglio può accadere che le funzionalità di stampa di un server di stampa, ma anche di un client, si blocchino nonostante il servizio Spooler sia in funzione, ma in questa situazione è possibile notare un elevato utilizzo di cpu da parte del processo printfilterpipelinesvc.exe. Il file printfilterpipelinesvc.exe insieme alla PrintFilterPipelinePrxy.dll consente la gestione di EasyPrint, che a sua volta è basato su XPS, e quindi implementa il driver XPS generando i joc XPS che lo spooler invierà al client.

Se si presenta questa situazione le stampe non verranno più eseguite o eseguite con estrema lentezza.

Il problema viene originato da un elevato numero di file nella cartella %SystemRoot%\System32\spool\PRINTERS o da file corrotti. I file in %SystemRoot%\System32\spool\PRINTERS dovrebbero venire eliminati dopo la stampa se questo non avviene dopo un certo periodo si verificherà l’issue descritto precedentemente, un motivo per il quale i file potrebbero non venire eliminati può dipendere da un problema legato ad un driver di una stampante, in questo caso dovrebbe essere presenti nel registro applicazioni eventi di questo tipo (nell’esempio sono relativi ad un driver Toshiba):

Per risolvere il problema è possibile eseguire il clear della cartella %SystemRoot%\System32\spool\PRINTERS mediante i seguenti comandi per eliminare i file spool (.spl) e i file temporanei (.tmp):

NET STOP spooler
TASKKILL /F /IM printfilterpipelinesvc.exe /T
DEL %SystemRoot%\System32\spool\printers\*.spl /Q /F /S
DEL %SystemRoot%\System32\spool\printers\*.shd /Q /F /S
DEL %SystemRoot%\System32\spool\printers\*.tmp /Q /F /S
NET START spooler

Oltre all’eliminazione dei job nello spool è comunque consigliabile verificare se sono stati rilasciati driver più aggiornati.

Per maggiori informazioni si vedano anche i seguenti: