Can't remove printers previously deployed by Group Policy Printer Deployment

JRV 546 Reputation points
2023-04-28T20:22:02.22+00:00

Back in the good old days, before PrintNightmare patches in 4Q21, we pushed printers out by Group Policy Printer Deployment. (Clarifying: Not with Preferences, but with Policies, using the Print Management MSC.) At the site I'm working on now, they were all per-computer, but the same thing applies to per-user printers elsewhere.

PrintNightmare patches, as most admins know, thoroughly broke GPPD.

Now, all workstations have zombie printers hosted by now-decommissioned print servers, and we can't get rid of them. Even brand-new user profiles inherit them.

They are removed from the printer GPOs via Print Management MSC. But because the print CSE doesn't work anymore, neither does the printer removal.

PowerShell Get-Printer doesn't even list them.

Standard users can't remove them (and never could, which is by design). Admin users can remove them, but they return.

I'm guessing that resetting Windows would get rid of them, since there's no trace left of them in Policy. But that's pretty extreme.

There are dozens or maybe 100s of references to the old print servers in the Registry, but I'm hoping only 1 or 2 of them, or flags in the printer settings, actually need to be removed. I can probably come up with some PowerShell magic to get rid of all of them--if that will address it. But I'm hoping there's a simpler way.

Anyone know a surgical way to get rid of them?

Windows
Windows
A family of Microsoft operating systems that run across personal computers, tablets, laptops, phones, internet of things devices, self-contained mixed reality headsets, large collaboration screens, and other devices.
5,532 questions
Windows Server Printing
Windows Server Printing
Windows Server: A family of Microsoft server operating systems that support enterprise-level management, data storage, applications, and communications.Printing: Printer centralized deployment and management, scan and fax resources management, and document services
689 questions
0 comments No comments
{count} votes

9 answers

Sort by: Most helpful
  1. JKruz 10 Reputation points
    2023-10-26T20:01:07.56+00:00

    Ok, I have the exact same problem. Old Deployed Printers are unable to be removed.

    I found that you can remove them from the hidden devices Printer Queues node of Device Manager (turn on Show Hidden Devices and expland the Print Queues Node) and they actually go away. I haven't tried scripting this with PowerShell yet but I see that it might be possible.

    First, remove all references to the disconnected print server from the registry. I removed all references that included the old print server name. The printers now showed in the Printers and Devices list as Disconnected. I then opened Device Manager and removed the hidden print queues.

    At this point, the printers disappeared from the list of Printers and Devices and did not return on reboots and logins.

    2 people found this answer helpful.

  2. Alan Morris 1,161 Reputation points
    2023-05-08T15:22:03.13+00:00

    Hi JRV,Add the Print Server Role to a machine with Group Policy Management Console. The policy module from Print Management will now be loaded by GPMC and you can remove the old objects. There is no need to run any scripts. I discuss this method in one of the Vista technology guides from Microsoft but even I no longer have a copy. Thanks

    1 person found this answer helpful.

  3. Alan Morris 1,161 Reputation points
    2023-05-10T01:05:13.4933333+00:00

    You can surgically remove them by editing the registry.

    As you stated, the user was not able to remove printer. That is a feature with Deployed Printer.

    The printers are added with a flag so they can't be deleted so clearing them from the registry is the way to go.

    Start with HKEY_USERS\USERSID\SOFTWARE\Policies\Microsoft\Windows NT\Printers\PushedConnections

    There is also HKEY_USERS\USERSID\SOFTWARE\Policies\Microsoft\Windows NT\Printers\PushedPrinterConnectionStore

    When a connection does exist this will be a per user registry key based on their SID.

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Providers\Client Side Rendering Print Provider

    The connections also live under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Providers\Client Side Rendering Print Provider\Servers\SERVERNAME\Printers

    Restart the Print Spooler service after the key clean up.

    1 person found this answer helpful.

  4. Limitless Technology 44,411 Reputation points
    2023-05-02T15:05:39.6266667+00:00

    Hello

    Thank you for your question and reaching out.

    Please create script or startup GPO using below command to delete unwanted or orphaned printers.

    wmic printer where (name like '%%(copy %%') delete

    --If the reply is helpful, please Upvote and Accept as answer--


  5. Alan Morris 1,161 Reputation points
    2023-05-10T00:31:07.1+00:00

    I'm not sure what CSE is for you.

    The Microsoft default for adding connection to shared printers when the printers use Type 3 drivers is that the users on the client system are required to have local administrative rights on the client systems.

    If the user is admin, the connections should be added.

    If the driver on the server is a Type 4, the connection should be added regardless of the client level of access to the system but the driver on the server is NEVER copied to the client system so the connection is created with a framework driver normally resulting in a degraded print experience.

    You can change this default requirement by allowing non admins the ability to install the software from the print server, the software being the print driver.

    The domain policy located in Computer \ Admin Templates \ Printers \ Limits print driver installation to Administrators

    When you disable this policy a standard used can make the connection to a shared printer which uses a Type 3 driver.


Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.