FolderRisk: Caution
spool C:\Windows\System32\spool
Print spooler folder: spool files of pending jobs (PRINTERS), drivers, and print processors.
What it’s for
The print spooler (the Spooler service, spoolsv.exe) receives print jobs, queues them, then sends them to the printer. System32\spool is its workspace, and it is where you step in when a print queue stays stuck.
What it contains
PRINTERS: the spool files of jobs in progress (.SPL) and their shadow files (.SHD); the folder has its own page.drivers: the files of installed printer drivers, per architecture.prtprocs: the print processors.- The default spool folder can be moved (for example to another volume on a print server).
Risks and best practices
- To clear a stuck queue, stop the
Spoolerservice, empty onlyPRINTERS, then restart the service. Deleting the folder or its other subfolders keeps the Spooler from starting properly. - On a print server, put the spool folder on a volume with enough free space, and avoid the system volume.
- The Spooler service has been the target of serious vulnerabilities: disable it on servers that do not print, domain controllers in particular, and apply updates.
Useful commands
# Subfolders and service stateGet-ChildItem "$env:windir\System32\spool" -Directory | Select-Object NameGet-Service Spooler
# As administrator: clear a stuck queue (dry run; remove -WhatIf to run)Stop-Service Spooler -WhatIfRemove-Item "$env:windir\System32\spool\PRINTERS\*" -WhatIfStart-Service Spooler -WhatIf