How To Print Test Pages on All Printers

Other than open every single installed printer to print test pages, here is a much better way that you can do it all at once.

Get-CimInstance Win32_Printer | Invoke-CimMethod -MethodName PrintTestPage

If you only want to certain printers, use the -Filter switch.

Get-CimInstance Win32_Printer -Filter "Name LIKE '*name*' | 
Invoke-CimMethod -MethodName PrintTestPage

You can even use Get-Printer cmdlet to pick multiple printers to send the test pages.

Get-Printer | Out-GridView -OutputMode Multiple |
ForEach-Object {
$printname = $_.Name.Replace("\", "\\")
Get-CimInstance Win32_Printer -Filter "Name LIKE $printname" |
Get-CimMethod -MethodName PrintTestPage

You may ask what’s the use of it to print test page to all printers. Well, I need to run a usage report on the last day each month. If that day falls on weekend or holiday, I won’t get the accurate report as a lot of the printers are put in sleep mode if not used. Sending a test pages to those printers is an easy to wake them up.

One thought on “How To Print Test Pages on All Printers

Leave a Reply

Your email address will not be published. Required fields are marked *