Hello folks, Pankaj here to show you an interesting way to change the Print Monitors and Processors registry keys with a single PowerShell command. This command can be a timesaver if you have hundreds of 3rd party Print Processors and Monitors on your Print Server (s).
*NOTE* these commands only work on stand alone Print Servers and will not work on Clustered Servers
After you install PowerShell (comes preinstalled on Vista+) you can run these commands:
Command to change Print Processor of all Printers to “WinPrint”
set-itemproperty -path 'HKLM:\system\currentcontrolset\control\print\printers\*' -name 'Print Processor' -value WinPrint
Command to change Print Monitor to “Blank”
For x64 Drivers
set-itemproperty -path 'HKLM:\SYSTEM\CurrentControlSet\Control\Print\Environments\Windows x64\Drivers\Version-3\*' -name 'Monitor' -value $null
For x86 Drivers
set-itemproperty -path 'HKLM:\SYSTEM\CurrentControlSet\Control\Print\Environments\Windows NT x86\Drivers\Version-3\*' -name 'Monitor' -value $null
Steps to Perform:
1) Open the PowerShell Command Window from the start menu
2) Type in the command and hit enter
3) Check the Print hive again and you will see that all the print processor and monitors have been changed
Location of Print Processors
HKLM\System\CurrentControlSet\Control\Print\Printers
Location of Print Monitors(for x86 Drivers)
HKLM\SYSTEM\CurrentControlSet\Control\Print\Environments\Windows NT x86\Drivers\Version-3\
Location of Print Monitors(for x64 Drivers)
HKLM\SYSTEM\CurrentControlSet\Control\Print\Environments\Windows x64\Drivers\Version-3\
BONUS:
To get a total number of installed printers via PowerShell, run this command:
(Get-WmiObject -class "Win32_Printer" -Namespace "root\cimv2").Count
Until next time, take care!
Additional Resources:
What’s new in Windows PowerShell 2.0
http://blogs.technet.com/b/askperf/archive/2010/01/26/what-s-new-in-windows-powershell-2-0.aspx
-Pankaj Pande