Clear a Stuck Print Queue with PowerShell

Delete stuck print jobs and restart the print spooler instead of rebooting the whole PC.

Windowsprint-queueprinterspowershellLow risk
Run Get-PrintJob -PrinterName "Your Printer" | Remove-PrintJob to purge the queue, then Restart-Service Spooler if jobs still refuse to clear.

01Command

Command
$ Get-PrintJob -PrinterName "HP LaserJet" | Remove-PrintJob
Restart-Service -Name Spooler

02What it does

A single corrupt job can wedge the whole queue: every new document stacks up behind it, and the "Cancel" button in Settings does nothing. Get-PrintJob lists pending jobs on a named printer, and piping to Remove-PrintJob deletes them all in one go — much faster than deleting one at a time in the UI. If jobs vanish but the printer stays frozen, restart the Spooler service, which is exactly what the old advice of deleting files in C:\Windows\System32\spool\PRINTERS achieves, safely. If you are unsure of the printer's exact name, run Get-Printer first to list it.

03Risk

RiskLow risk
RequirementsPowerShell as Administrator (for Restart-Service Spooler)
!Warning: Removing jobs is immediate and permanent — everyone printing to that shared printer loses their documents, so check before purging an office queue.

04Undo

✓No undo needed — this command does not change persistent state.

05Sources

  • Get-PrintJob
    Microsoft Learn · vendor-doc · 2026-09-17
    Evidence: Documents Get-PrintJob -PrinterName for listing jobs on a specific printer queue.
  • Remove-PrintJob
    Microsoft Learn · vendor-doc · 2026-09-17
    Evidence: Documents Remove-PrintJob for deleting print jobs, accepting pipeline input from Get-PrintJob.

Last verified: 2026-09-18 · Category: System & Settings

06Related solutions