ANAVEM
Languagefr
Windows Event Viewer displaying print spooler event logs on a server monitoring dashboard
Event ID 20InformationPrintWindows

Windows Event ID 20 – Print Spooler: Print Job Completion and Status Events

Event ID 20 from the Print Spooler service indicates print job completion, cancellation, or status changes. This informational event helps track printing activity and troubleshoot spooler issues.

Emanuel DE ALMEIDAEmanuel DE ALMEIDA
17 March 20269 min read 0
Event ID 20Print 5 methods 9 min
Event Reference

What This Event Means

Event ID 20 represents a critical component of Windows print job lifecycle management. When the Print Spooler service processes documents, it generates this event to record significant state transitions including successful completion, user-initiated cancellation, or automatic cleanup operations.

The event typically contains structured data including the job ID, document name, submitting user, target printer, and timestamp information. This data proves invaluable when investigating printing issues or conducting security audits of document processing activities.

Modern Windows versions generate Event ID 20 more frequently due to enhanced job tracking capabilities. The spooler now monitors intermediate processing stages, not just final outcomes. This increased granularity helps administrators identify bottlenecks in print queues and optimize driver performance.

In enterprise environments running Windows Server 2022 and newer, Event ID 20 integrates with centralized logging solutions. Organizations can aggregate these events across multiple print servers to gain comprehensive visibility into their printing infrastructure. The event structure remains consistent across Windows versions, ensuring compatibility with existing monitoring tools and scripts.

Applies to

Windows 10Windows 11Windows Server 2019/2022/2025
Analysis

Possible Causes

  • Normal print job completion after successful processing and output
  • User-initiated print job cancellation through the print queue interface
  • Automatic job cleanup when documents exceed configured timeout periods
  • Print driver reporting job status changes during processing phases
  • Spooler service restarting and clearing pending job states
  • Printer going offline causing job status updates
  • Administrative actions like purging print queues or restarting services
Resolution Methods

Troubleshooting Steps

01

Review Event Details in Event Viewer

Start by examining the specific Event ID 20 entries to understand the context and frequency.

  1. Open Event Viewer by pressing Win + R, typing eventvwr.msc, and pressing Enter
  2. Navigate to Windows LogsSystem
  3. In the Actions pane, click Filter Current Log
  4. Enter 20 in the Event IDs field and click OK
  5. Review recent entries, noting the frequency and any patterns in timing
  6. Double-click individual events to examine detailed information including job names and user accounts

Look for correlations between Event ID 20 occurrences and user complaints about printing issues. High frequency might indicate spooler instability or driver problems requiring further investigation.

02

Query Events with PowerShell for Analysis

Use PowerShell to extract and analyze Event ID 20 data programmatically for pattern identification.

  1. Open PowerShell as Administrator
  2. Run this command to retrieve recent Event ID 20 entries:
    Get-WinEvent -FilterHashtable @{LogName='System'; Id=20; StartTime=(Get-Date).AddDays(-7)} | Select-Object TimeCreated, Id, LevelDisplayName, Message | Format-Table -AutoSize
  3. For more detailed analysis, export the data:
    Get-WinEvent -FilterHashtable @{LogName='System'; Id=20; StartTime=(Get-Date).AddDays(-30)} | Export-Csv -Path "C:\Temp\Event20_Analysis.csv" -NoTypeInformation
  4. Count occurrences by hour to identify peak printing times:
    Get-WinEvent -FilterHashtable @{LogName='System'; Id=20; StartTime=(Get-Date).AddDays(-1)} | Group-Object {$_.TimeCreated.Hour} | Sort-Object Name

This analysis helps identify printing patterns and potential performance bottlenecks during high-usage periods.

03

Check Print Spooler Service Status and Configuration

Verify the Print Spooler service is operating correctly and review its configuration settings.

  1. Open Services by pressing Win + R, typing services.msc, and pressing Enter
  2. Locate Print Spooler service and verify it shows Running status
  3. Right-click the service and select Properties
  4. Ensure Startup type is set to Automatic
  5. Check the spooler folder permissions and contents:
    Get-ChildItem -Path "C:\Windows\System32\spool\PRINTERS" -Force | Measure-Object
  6. Review spooler registry settings:
    Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Print\Printers"
  7. If issues persist, restart the spooler service:
    Restart-Service -Name "Spooler" -Force
Warning: Restarting the Print Spooler will cancel all pending print jobs. Notify users before performing this action.
04

Investigate Printer Driver Issues and Updates

Examine printer drivers that might be causing excessive Event ID 20 generation or related printing problems.

  1. Open Device Manager by pressing Win + X and selecting it from the menu
  2. Expand Print queues to view installed printers
  3. Right-click problematic printers and select Properties
  4. Check the Driver tab for version information and update dates
  5. Use PowerShell to list all printer drivers and their versions:
    Get-PrinterDriver | Select-Object Name, Version, DriverVersion | Format-Table -AutoSize
  6. Check for driver updates in Windows Update or manufacturer websites
  7. If driver issues are suspected, remove and reinstall the problematic printer:
    Remove-Printer -Name "PrinterName"
  8. Monitor Event ID 20 frequency after driver updates to confirm resolution

Driver incompatibilities often manifest as increased Event ID 20 activity combined with user printing complaints.

05

Configure Advanced Print Spooler Logging and Monitoring

Enable detailed print spooler logging for comprehensive troubleshooting and ongoing monitoring.

  1. Open Registry Editor as Administrator
  2. Navigate to HKLM\SYSTEM\CurrentControlSet\Control\Print
  3. Create or modify the LogLevel DWORD value:
    Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Print" -Name "LogLevel" -Value 1 -Type DWord
  4. Enable operational logging in Event Viewer by navigating to Applications and Services LogsMicrosoftWindowsPrintService
  5. Right-click Operational and select Enable Log
  6. Set up automated monitoring with PowerShell:
    Register-WmiEvent -Query "SELECT * FROM Win32_VolumeChangeEvent WHERE EventType = 2" -Action { Get-WinEvent -FilterHashtable @{LogName='System'; Id=20; StartTime=(Get-Date).AddMinutes(-5)} | Out-File -Append "C:\Logs\PrintEvents.log" }
  7. Create a scheduled task to regularly analyze Event ID 20 patterns and generate reports
Pro tip: Enhanced logging provides detailed job tracking but increases log volume. Monitor disk space usage and configure log rotation appropriately.

Overview

Event ID 20 from the Print Spooler service fires when print jobs complete, get cancelled, or experience status changes during processing. This informational event appears in the System log and provides valuable insight into printing operations across your Windows environment.

The Print Spooler generates this event as part of its normal operation cycle, tracking job lifecycle from submission to completion. Unlike error events, ID 20 typically indicates successful operations or expected state transitions. However, frequent occurrences might signal underlying spooler performance issues or driver problems.

System administrators use this event to monitor printing activity, investigate user complaints about missing print jobs, and audit document processing in enterprise environments. The event contains details about the specific print job, including document name, user context, and printer destination.

In Windows Server 2025 and Windows 11 24H2, Microsoft enhanced the Print Spooler logging to include additional metadata for better troubleshooting capabilities. This makes Event ID 20 even more valuable for print infrastructure monitoring.

Frequently Asked Questions

What does Event ID 20 from the Print Spooler mean?+
Event ID 20 indicates print job status changes or completion events from the Windows Print Spooler service. This informational event fires when print jobs complete successfully, get cancelled by users, or experience state transitions during processing. It's part of normal spooler operation and helps track printing activity across your system.
Is Event ID 20 an error that needs fixing?+
No, Event ID 20 is typically an informational event indicating normal print spooler operation. However, if you see excessive frequency or it correlates with printing problems, it might indicate underlying issues like driver conflicts, spooler instability, or hardware problems that require investigation.
How can I reduce the frequency of Event ID 20 entries?+
You cannot completely eliminate Event ID 20 as it's part of normal print job processing. However, you can reduce frequency by updating printer drivers, optimizing print queues, ensuring adequate system resources, and addressing any underlying printing infrastructure issues. Consider adjusting logging levels if the volume becomes problematic.
Can Event ID 20 help troubleshoot printing problems?+
Yes, Event ID 20 provides valuable troubleshooting information. By analyzing the timing, frequency, and details of these events, you can identify patterns related to specific printers, users, or time periods. Correlating Event ID 20 with user complaints helps pinpoint problematic print jobs or infrastructure issues.
Should I be concerned about multiple Event ID 20 entries per minute?+
High frequency Event ID 20 entries might indicate issues like print spooler instability, driver problems, or users repeatedly cancelling jobs. Investigate by checking spooler service health, updating drivers, and reviewing print queue status. Normal busy environments generate many legitimate Event ID 20 entries, but sudden increases warrant investigation.
Documentation

References (2)

Emanuel DE ALMEIDA
Written by

Emanuel DE ALMEIDA

Senior IT Journalist & Cloud Architect

Microsoft MCSA-certified Cloud Architect | Fortinet-focused. I modernize cloud, hybrid & on-prem infrastructure for reliability, security, performance and cost control - sharing field-tested ops & troubleshooting.

Discussion

Share your thoughts and insights

You must be logged in to comment.

Loading comments...