Happy Friday AskPerf! No, that’s not a typo in the title, the NET PRINT functionality no longer exists in Windows 7. The decision to deprecate the functionality was based on usage data and the fact that there were multiple ways to perform the same tasks. Before we go over new ways to do what was a familiar task, let’s quickly recap the NET PRINT functionality.
The information below is from the help for the NET PRINT command:
[\\computername] job# [/HOLD | /RELEASE | /DELETE]
NET PRINT displays print jobs and shared queues. For each queue, the display lists jobs, showing the size and status of each job, and the status of the queue.
- computername is the name of the computer sharing the printer queue(s).
- sharename is the name of the shared printer queue.
- job# is the identification number assigned to a print job. A computer with one or more printer queues assigns each print job a unique number.
- /HOLD prevents a job in a queue from printing. The job stays in the printer queue, and other jobs bypass it until it is released.
- /RELEASE reactivates a job that is held.
- /DELETE removes a job from a queue.
Although NET PRINT is no more, there is a VBScript which can be found in : %windir%\System32\Printing_Admin_Scripts\en-US that can be used to perform similar tasks. The name of the scripts is prnjobs.vbs. The help information is below. Run prnjobs.vbs –? to display the help info.
Usage: prnjobs [-zmxl?] [-s server][-p printer][-j jobid][-u user name][-w password]
As you can see from the command above, there are several arguments that can be passed to the script:
- -j is the job id
- -l is used to list all jobs
- -m used to resume the job
- -p used to specify the printer name
- -s used to specify the server name
- -u specify the user name of a user (passing admin credentials for example)
- -w specify the password
- -x used to cancel a print job
- -z used to pause a print job
- -? display command usage / help
Now that we’ve looked at the usage for both tools, here is a mapping of net print commands to their equivalent prnjobs.vbs script usage commands (assuming that you are running this locally. If running remotely, specify the server name using –s in the prnjobs.vbs command):
|Operation||NET PRINT command||PRNJOBS.VBS command|
|List the jobs in a queue||NET PRINT <printer name>||cscript prnjobs.vbs –l –p <printer name>|
|Pause a job||NET PRINT <printer name> <job id> /hold||cscript prnjobs.vbs -p <printer name> -j <job id> -z|
|Resume a job||NET PRINT <printer name> <job id> /release||cscript prnjobs.vbs -p <printer name> -j <job id> -m|
|Delete / Cancel a job||NET PRINT <printer name> <job id> /delete||cscript prnjobs.vbs -p <printer name> -j <job id> -x|
One final note is that many of these tasks can also be performed via PowerShell scripts or WMI scripts. See the resources below for more information.
Well, that’s it for this post. Enjoy your weekend! Until next time …