printingwindows-serverzebra-printerspowershell-5.0

How to programmatically set "start printing after last page is spooled" on printers


I've created over a hundred printers (and associated queues) on a print server, shared them, and configured them as desired (name, port, comments, location, etc) but an option I can't seem to identify a way to set is the flag on the advanced Printer Properties tab to "start printing after last page is spooled". I'm using PowerShell but open to whatever works. I have dredged the net and asked the all-powerful google in every variation I can think of to locate an answer, without result. I've also looked through Microsoft's documentation of related print management PowerShell commands (such as Add-Printer, Set-PrinterProperty, Set-Printer, and Set-PrintConfiguration) and printer-related registry settings with no luck.

I'm curious if the -RenderingMode CSR option for the print management commands would do it, but I can't find much documentation on the specifics of that to confirm. Hopefully you fine folks can assist.

Help me Obi-Wan, you're my only hope...


Solution

  • https://learn.microsoft.com/en-us/windows/win32/cimwin32prov/win32-printer

    The property that sets this is called Queued. So set Queued = $true through a CimInstance or through Get-WmiObject to set the print queue to Start printing after last page is spooled.