I have a few Windows 2012 R2 servers that all show 300 - 400 printers in Control Panel
> Hardware
> Devices and Printers
. They also show up as print queues in Device Manager. Many of them are duplicates - the list in Devices and Printers looks something like this:
Printer_A on Print_Server_1
Printer_A on Print_Server_1
Printer_A on Print_Server_1
Printer_A on Print_Server_1
Printer_A on Print_Server_1
Printer_B on Print_Server_1
Printer_B on Print_Server_1
Printer_X on Print_Server_2
Printer_X on Print_Server_2
Printer_X on Print_Server_2
Printer_X on Print_Server_2
I can remove the printers in Devices and Printers by selecting a printer and clicking "Remove device". The printers seem to be removed, but show up again after I logout and log back in.
When I run this I see an empty list (0 printers):
c:\windows\system32\rundll32.exe printui.dll,PrintUIEntry /ge
The PowerShell cmdlet get-printer
lists just five printers, as does this:
cscript c:\windows\system32\printing_admin_scripts\en-us\prnmngr.vbs -l
I see the same five printers under this key:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Printers
I see 23 connections (none are duplicates) under this key:
HKEY_CURRENT_USER\Printers\Connections
How can I figure out where these hundreds of printers are coming from so that I can permanently remove them? The servers are brokered in RDS - could they be getting these printers from each other somehow?