Printing and scanning: spooler triage that works
Clear a stuck queue in the right order, choose between vendor and universal drivers, and get scan-to-PC working again.
- Build
- 26300.9457 / 26100.33650
- Edition
- Pro (26H2) / Server
- Architecture
- x64
- Support
- Documentation (E1)
- Evidence
- E1Official documentation
- Verified
- 2026-10-29
- Page type
- Troubleshoot
The short answer
Section titled “The short answer”Almost every “printer is broken” case is one of four things:
- A stuck job blocking the queue.
- The wrong driver (generic instead of vendor, or 32-bit leftovers).
- The port (USB vs WSD vs TCP/IP) pointing at something that moved.
- The spooler service in a bad state.
Fix them in that order — clearing the queue first, reinstalling drivers last.
Clear a stuck queue, correctly
Section titled “Clear a stuck queue, correctly”Get-Printer | Select-Object Name,DriverName,PortName,PrinterStatusGet-PrintJob -PrinterName "Your Printer" | Select-Object Id,DocumentName,JobStatus,SubmittedTimeRemove a single job:
Get-PrintJob -PrinterName "Your Printer" | Where-Object Id -eq 12 | Remove-PrintJobIf the queue will not clear, stop the spooler, delete the spool files, start it again:
Stop-Service SpoolerRemove-Item "$env:SystemRoot\System32\spool\PRINTERS\*" -Force -ErrorAction SilentlyContinueStart-Service SpoolerDriver choice
Section titled “Driver choice”| Driver type | When |
|---|---|
| Vendor full driver | you need finishing options, scanning, ink levels |
| Universal / class driver | basic printing, no vendor tooling, fewer bugs |
| Microsoft IPP class driver | modern network printers, no vendor package |
The universal driver is not a downgrade for plain printing — it is often more stable and survives Windows upgrades better. It loses vendor features.
# installed drivers and their versionsGet-PrinterDriver | Select-Object Name,Manufacturer,DriverVersion,PrinterEnvironment# ports: where the print job actually goesGet-PrinterPort | Select-Object Name,Description,PrinterHostAddress,PortNumberA WSD port that keeps failing usually means the printer changed IP or mDNS is blocked. A fixed TCPIP port with a DHCP address fails the same way — reserve the address on the router.
Scan-to-PC
Section titled “Scan-to-PC”Scanning is a separate pipeline from printing. It breaks independently:
| Mechanism | Requirement |
|---|---|
| WSD scan | network discovery on, printer reachable by name |
| Vendor scan app | vendor driver/service installed |
| eSCL/AirScan | printer exposes the HTTP scan endpoint |
| Scan to folder/SMB | SMB1 may be required on very old devices — avoid, use scan-to-PC instead |
If the printer’s own panel offers “scan to computer”, it depends on the vendor agent running and the PC being discoverable. That is why it works on one machine and not another.
The order that saves time
Section titled “The order that saves time”Get-PrintJob— is there a stuck job?- Can you print a test page from the printer panel? (isolates PC vs printer)
- Is the port address still correct? (
Get-PrinterPort) - Is the driver the vendor one, and current?
- Only then: remove the printer and re-add it.
Related
Section titled “Related”- USB devices that are not recognised
- Touchpads, pens and Precision drivers
- LAN shares and SMB versions
Lab boundary
Section titled “Lab boundary”E1. Print architecture and commands are Microsoft-documented. The lab has no printer, so no queue or driver fault was reproduced.