/
/

Set “Keep Printed Documents” On/Off in Windows 11 Print Queue

by Mauro Mendoza, IT Technical Writer
Set "Keep Printed Documents" On/Off in Windows 11 Print Queue blog banner image

Instant Summary

This NinjaOne blog post offers a comprehensive basic CMD commands list and deep dive into Windows commands with over 70 essential cmd commands for both beginners and advanced users. It explains practical command prompt commands for file management, directory navigation, network troubleshooting, disk operations, and automation with real examples to improve productivity. Whether you’re learning foundational cmd commands or mastering advanced Windows CLI tools, this guide helps you use the Command Prompt more effectively.

Key points

  • Enable or disable the setting in Settings > Printers & scanners > Printer Properties > Advanced for individual printers.
  • Use the PowerShell Set-PrinterProperty command to reliably configure this setting for multiple printers at scale.
  • Monitor and clean the spool folder (C:\Windows\System32\spool\PRINTERS) regularly to prevent retained jobs from consuming excessive disk space.
  • Enable Windows print event logging in Event Viewer to create an audit trail that works alongside the physical print queue.
  • Always verify the setting with a test print to confirm jobs persist or clear from the queue as intended.
  • If the setting reverts, check for an overriding Group Policy by running gpresult /r from the command line.

The “Keep Printed Documents” setting is a powerful tool for creating audit trails or simplifying reprints, but managing your print queue in Windows 11 improperly can lead to storage bloat or privacy concerns.

This guide will walk you through enabling or disabling this feature correctly, using methods from simple clicks to enterprise-scale scripts, while ensuring your system stays secure and efficient.

Methods to enable or disable “Keep Printed Documents”

Before you change whether a printer keeps a history, confirm these points:

  • Local administrator rights: You need admin rights on the workstation or print server to modify system-level printer properties.
  • Access to the print server: For shared network printers, apply changes directly on the print server to ensure they persist for all users and aren’t overwritten.
  • Available disk space: If enabling retention, ensure the drive hosting the default spool folder (C:\Windows\System32\spool\PRINTERS) has ample free space, as retained .SPL and .SHD job files will accumulate there.

Method 1: Enable or disable via Printer Properties (GUI)

This method is ideal for configuring one or two printers directly from your Windows 11 desktop. It’s perfect for individual users or help desk technicians making a quick, one-time change. The settings are applied directly to the local printer’s configuration in the Windows spooler.

Step-by-step procedure:

  1. Open Settings > Bluetooth & devices > Printers & scanners.
  2. Select your target printer and click Printer properties.
  3. Navigate to the Advanced tab.
    • To enable the feature and have Windows keep printed documents, check the box.
    • To disable it and clear history automatically, ensure the box is unchecked.
  4. Click OK to apply.
    • For verification, send a test print; a completed job will remain visible in the print queue if the feature is active.

Once enabled, every printed document for that specific printer will remain in its queue after printing, allowing you to reopen or reprint it directly. Remember, this setting is configured per printer, so you must repeat these steps for each device.

Method 2: Use PowerShell for scalable configuration

Use this method for bulk changes, scripting, or remote management, as it directly modifies the printer’s KeepPrintedJobs property.

Step-by-step procedure:

  1. Open PowerShell as Administrator.
  2. Check the current setting:

Get-PrinterProperty -PrinterName "Printer Name" -PropertyName KeepPrintedJobs

Note: The status will be shown as 1 if enabled or 0 if disabled.

  1. Change the setting:
    • To enable retention:

Set-PrinterProperty -PrinterName "Printer Name" -PropertyName KeepPrintedJobs -Value 1

    • To disable it:

Set-PrinterProperty -PrinterName "Printer Name" -PropertyName KeepPrintedJobs -Value 0

  1. Apply in bulk (e.g., to all “Accounting” printers):

Get-Printer -Name "*Accounting*" | ForEach-Object { Set-PrinterProperty -PrinterName $_.Name -PropertyName KeepPrintedJobs -Value 0 }

The change is immediate. Verify with Get-PrinterProperty. Enabled retention will keep jobs in the print queue after printing.

Method 3: Direct Registry editing (Targeted use)

Use this only when standard tools fail, as manual edits are fragile and easily overwritten by system policies or drivers. It modifies the source value that the print spooler loads.

Step-by-step procedure:

  1. Open Registry Editor (regedit.exe) as Administrator.
  2. Navigate to:
    • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Printers\<YourPrinterName>
  3. Create or modify the DWORD (32-bit) value named KeepPrintedJobs.
  4. Set its data to 1 (enable) or 0 (disable).
  5. Restart the Print Spooler service (services.msc or Restart-Service Spooler in PowerShell) for the change to apply.

The setting takes effect after a spooler restart.

Important: The Registry method is not persistent by default and is often reverted by Group Policy, scripts, or driver updates. Always verify the change by checking the print queue after a test print.

Supporting methods to strengthen print queue configuration

To build a robust and secure printing environment in Windows 11, consider these essential supporting configurations that go beyond just managing document history.

Supporting method 1: Pair with Event Logging for auditability

Use this method for security investigations, compliance, or usage tracking. It captures job metadata (user, document name, time) in Windows logs, providing a record independent of the physical spool files in the print queue.

Step-by-step procedure:

  1. Open Event Viewer (eventvwr.msc).
  2. Navigate to Applications and Services Logs > Microsoft > Windows > PrintService > Operational.
  3. Enable the log if disabled.
  4. Filter for Event ID 307 to see successful print jobs with full details.

Once enabled, you can correlate entries in the print queue with these logs for a complete audit trail. Ensure this practice aligns with your privacy policy.

Supporting method 2: Control storage growth and hygiene

Proactively manage the physical storage of print jobs to maintain system performance. This involves monitoring, relocating, and cleaning the spooler folder where Windows stores all print data.

Step-by-step procedure:

  1. Monitor: Regularly check the size of the default folder C:\Windows\System32\spool\PRINTERS.
  2. Relocate: For high-volume printers, change the spool path in Print Server Properties > Advanced to a larger drive.
  3. Clean: Create a Scheduled Task with a PowerShell script to automatically delete old .SPL and .SHD files after a set period.

This prevents the system drive from filling up, ensuring print services remain reliable while maintaining necessary job history.

Supporting method 3: Backup, restore, and deployment

This ensures the KeepPrintedJobs setting is preserved during migrations and applied in scripted deployments.

Step-by-step procedure:

  1. Backup/restore: Ensure printer migration tools or scripts include the KeepPrintedJobs property.
  2. Scripted deployment: Add the Set-PrinterProperty command to enable or disable the setting right after creating the printer in your installation scripts.
  3. Documentation: Record which print queues require retention and the business reason for compliance.

This creates a repeatable process where the retention setting survives upgrades and is applied consistently.

Supporting method 4: Validate and roll back

This final verification step confirms the setting works as intended and provides a quick path to revert if problems like storage overuse or slow performance occur. Always use it after configuring printers, especially in bulk.

Step-by-step procedure:

  1. Test: After configuration, print a test page. Open the print queue to verify the job persists (if enabled) or disappears (if disabled).
  2. Monitor: Watch for side effects like a full disk or sluggish queue, indicating needed cleanup.
  3. Revert: If issues arise, immediately disable keep printed documents using your original method (PowerShell or GUI) to restore the default behavior.

This ensures your configuration is correct and allows for quick mitigation of any unintended consequences.

Troubleshooting common “Keep Printed Documents” issues

The setting keeps reverting

A Group Policy or script is overriding your change. Run gpresult /r to check for policies and ensure you’re configuring the setting on the correct print server for shared queues.

Print queue grows too large, or performance slows

Retained spool files consume disk space. Shorten the cleanup interval, move the spool folder to a larger drive, or disable retention on high-volume printers to manage storage growth.

Print jobs are stuck, or the queue is unresponsive

This often indicates driver or spooler corruption. Restart the Print Spooler service (Restart-Service Spooler) and update the printer driver.

Addressing privacy and security concerns

Enabling retention means documents can be reprinted or viewed. Only enable it with a clear business need, document the policy, and implement strict access controls and automatic deletion schedules.

Optimizing your print queue for security and efficiency

Effectively managing the “Keep Printed Documents” feature allows you to harness its benefits for auditing and support without compromising system health or privacy.

By choosing the right method, whether Graphical Interface for simplicity or PowerShell for scale, and reinforcing it with event logging, storage hygiene, and proper deployment scripts, you create a reliable, compliant print workflow.

Ultimately, success lies in strategically enabling retention where truly needed, actively managing the print queue, and always balancing utility with security and performance.

Related topics:

FAQs

Beyond general privacy, enabling this setting allows any user with access to the print queue to reprint documents, and administrators can potentially open the spool files in the C:\Windows\System32\spool\PRINTERS folder to view the actual content of printed documents, which may include sensitive information.

Windows does not have a built-in scheduler for cleaning the spool folder; you must create a custom Scheduled Task using a PowerShell script to delete old .SPL and .SHD files based on your preferred age threshold.

The setting is frequently reset by logon scripts, printer deployment tools, or proprietary printer management/driver software that applies its own configurations, often overriding user or administrator changes.

This performance setting bypasses the print spooler, which disables advanced features like job queuing, pausing/restarting documents, and using printer-specific options such as booklet layout, N-up printing, and some types of watermarking.

The logs are under Applications and Services Logs > Microsoft > Windows > PrintService > Operational. Key Event IDs include 307 (Job printed successfully), 800 (Job deleted from queue), and 306 (Printer configuration changed), which are crucial for audits.

You can run Get-Printer | Get-PrinterProperty -PropertyName KeepPrintedJobs in an elevated PowerShell window to see a consolidated list of all printers and their current retention setting status.

You might also like

Ready to simplify the hardest parts of IT?