Checking print queue manually is quite an easy task for an IT guy but of course for some users; it is a hard time for them trying to figure out why the printer does not print their documents when they had already click as many as they can click.
As they odds say, that “Patience is a virtue”. In the digital world, patience indeed is a virtue. Users nowadays, their imagination is far beyond the technology.
They expect things to do in their own way, not how the machine was intended or designed to be.
So much for the drama, let’s get to PowerShell track.
PowerShell provides an easy and smart way to check print queue without any hassles.
Easy and smart way, because two lines alone will have an output that is quite informative.
Print jobs that are stuck in the print queue are easy to clear when it’s only a few of them.
Just like in the real world, when the queue is long is quite frightening to queue when time is a priority.
How the print queue works are same in the real world, it also takes a priority number.
The first print job will take the first priority; the second print job has to follow the first one and the rest of the print jobs that are stuck have to be in sequence, thus the last print job will take the highest number.
Or basically, the FIFO strategy, first in first out.
Let’s take an example that a particular printer has gone offline for whatever reason.
But some users are not aware that the printer has gone offline, so they still send print jobs.
Print queue will be like:
Document1 – User1 --- first print job stuck on the queue priority number is “0”
Document1 – User1 --- second print job stuck on the queue priority number is “1”
Documentx – User2 --- third print job stuck on the queue priority number is “2”
Document xx – User2 --- fourth print job stuck on the queue priority number is “3”
Excel01 – User01 --- fifth print job stuck on the queue priority number is “4”
Excel02 – User01 --- sixth print job stuck on the queue priority number is “5”
But of course, those priority numbers (or job id) is not visible to the user nor can it be seen on windows explorer.
Those numbers are important to PowerShell if there’s a need to remove print queues in any particular sequence.
As soon as the print queue is removed, the numbering order will also change. But the rule still applies the last print job will take the highest number.
So if “Documentxx – User2” is taken out from the print queue.
Excel01 – Use01 – will have priority number “3”
Excel02 – User02 – will have priority number “4”
Basically, the number will depend on how many print queues are stuck.
How to prove or do a testing with this using PowerShell?
Well, don’t do this on your “print server” or in your production environment.
It can simply be done on a workstation, change the IP Address of the network printer to something else to an IP Address that is not being used by any device.
But make sure it’s not a shared printer and no user is using or connecting to it.
So on your own workstation; change the IP Address of your default printer to an IP Address that is not used.
So when you try to print, print jobs will be stuck in the print queue.
Here’s an example of a PowerShell to check stuck print queue’s:
PS D:\> $PrintJobs = Get-WmiObject Win32_PrintJob
write-host $PrintJobs.name
Production_Line_1, 39 Production_Line_1, 40 Production_Line_1, 41 Production_Line_1, 43 Production_Line_1, 44
From the above output, there are 5 print queues stuck and the number is in sequence from 39 to 44, but the above output only shows the printer name and the sequence number.
Below is a PowerShell command that will lists the document file name that are stuck:
PS D:\> $PrintJobs = Get-WmiObject Win32_PrintJob
write-host $PrintJobs.document
untitled - Notepad 2 - Notepad untitled - Notepad 3 - Notepad untitled - Notepad 4 - Notepad untitled - Notepad 1 - Notepad untitled - Notepad 5 – Notepad
This command below will show more details:
Get-WmiObject -namespace root\cimv2 -class win32_printjob
Screen shot of documents pending for printing:
To delete a specific queue number for the print job, type this PowerShell code:
This will delete the 4th item on print queue.
PS D:\> $PrintJobs = Get-WmiObject Win32_PrintJob
$Printjobs.item(4).delete()
This will delete the first item on print queue.
PS D:\> $PrintJobs = Get-WmiObject Win32_PrintJob
$Printjobs.item(0).delete()
Other PowerShell commands:
PS D:\> $PrintJobs = Get-WmiObject Win32_PrintJob
write-host $PrintJobs.__SERVER
PS D:\> $PrintJobs = Get-WmiObject Win32_PrintJob
write-host $PrintJobs.JobStatus
PS D:\> $PrintJobs = Get-WmiObject Win32_PrintJob
write-host $PrintJobs.Size
PS D:\> $PrintJobs = Get-WmiObject Win32_PrintJob
write-host $PrintJobs.Owner
PS D:\> $PrintJobs = Get-WmiObject Win32_PrintJob
#write-host $PrintJobs.Delete()
Foreach-Object { $_.Delete() }
Get-WmiObject -namespace root\cimv2 -class win32_printerconfiguration
Get-WmiObject -namespace root\cimv2 -class win32_printer
Get-WmiObject -namespace root\cimv2 -class win32_printerconfiguration
Get-WmiObject -namespace root\cimv2 -class win32_printer
To manually delete a print job, just double-click on the printer icon to open the print queue window and right click on the document to delete, pause or restart the print job.
See image below:
Cheers..Hope it helps..Enjoy :)
check out labels below for more PowerShell.
=========================
=========================
Heaven's Dew Fall
https://play.google.com/store/apps/details?id=soulrefresh.beautiful.prayer
Android Catholic Rosary App - Guide
https://play.google.com/store/apps/details?id=com.myrosaryapp&hl=en-GB
Educational App for Android Kids:
Free Version:
https://play.google.com/store/apps/details?id=com.xmultiplication
Paid Version:
https://play.google.com/store/apps/details?id=com.letsmultiply
Android Divine Mercy Chaplet Guide
https://play.google.com/store/apps/details?id=com.dmercyapp
https://play.google.com/store/apps/details?id=soulrefresh.beautiful.prayer
Android Catholic Rosary App - Guide
https://play.google.com/store/apps/details?id=com.myrosaryapp&hl=en-GB
Educational App for Android Kids:
Free Version:
https://play.google.com/store/apps/details?id=com.xmultiplication
Paid Version:
https://play.google.com/store/apps/details?id=com.letsmultiply
Android Divine Mercy Chaplet Guide
https://play.google.com/store/apps/details?id=com.dmercyapp
Comments
Post a Comment