Share via

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

JRV 561 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 for business | Windows Server | User experience | Print jobs
Windows for business | Windows Client for IT Pros | User experience | Other

6 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,351 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. Matt H 0 Reputation points
    2023-08-24T14:24:25.1866667+00:00

    Here is what I did:

    I look at which printers are there for a logged in user by running

    wmic printer get name
    

    Then I stop the print spooler (need to be elevated)

    net stop spooler
    

    Then I delete a couple registry entries per printer:

    REG DELETE "HKCU\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Devices" /v "\\PRINTSERVER\Office Copier" /f
    
    REG DELETE "HKCU\Printers\Connections\,,PRINTSERVER,Office Copier" /f
    

    Then I start the print spooler (need to be elevated)

    net start spooler
    

    Then I confirm that those printers are gone by using the above WMI command


  4. Adam Burton 0 Reputation points
    2023-08-23T15:35:34.47+00:00

    Hi all

    I'm having a similar problems and I have thrown everything at it, I'm not sure what/if is working yet but below is what I am trying....

    Oh, one thing what has worked, 'fax' has been removed on all the computers I checked :)

    GPO with identical settings for both User and Computer:

    powershell script containing all the printer names and sharenames, e.g:

    Remove-Printer -Name "EPSON WF-C869R Series - Sales"

    Remove-Printer -Name "clientservices (WF-C869R Series)"

    Remove-Printer -Name "Fax"

    User's image


  5. Limitless Technology 45,226 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--


Your answer

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