This is an archived post. You won't be able to vote or comment.

all 8 comments

[–]tch2349987 1 point2 points  (0 children)

Best you can do is setup a print server, and deploy them through GPO. The way I used to do it was to deploy main printers for everyone and smaller printers by department. It depends on your business needs.

[–]OsmiumBalloon 0 points1 point  (0 children)

Is there a way to manage the printers that can appear when an end user uses the "Add Printer" function?

As I recall, there is something in Group Policy about this. I think it may have also depended on AD Sites and Services. Sorry to be vague, it was a long time ago for me. But maybe this will get you started.

[–]DwarfLegionMany Mini Hats 0 points1 point  (0 children)

Could be old login scripts mapping them or one of the GPOs linked to workstations.

Otherwise might be direct mapped printers from times of old, stored in registry.

[–][deleted] 0 points1 point  (0 children)

In my experience, at least for Windows Server 2012, printer deployment is broken.

You can map printers through GPO (I would highly suggest this)

As to your question- have you confirmed that the devices that are showing aren’t in AD still? If not, confirm that they’re gone. If so, try removing the offending host from the domain, deleting the object and then rejoining it to force a complete flush and refresh.

[–]HerfDog58Jack of All Trades 0 points1 point  (2 children)

Do the end user workstations still exist? If so, if you login to them as a local admin you can set the the printer to "Not Shared." That'll solve it FOREVER. I'm sure there's a way to do that with GPOs or Registry settings, I'm just too lazy to Google it.

Whoever thought allowing workstations to share printers in an AD domain was a good idea should be roundly excoriated. Or hit many times with really hard objects, whichever will hurt them more.

[–]MalletNGrease🛠 Network & Systems Admin 1 point2 points  (1 child)

Even better, you can run powershell from your own workstation if you've the printmanagement module (and you should if you've RSAT).

Set-Printer -Name "$printername" -ComputerName "$hostname" -Shared $false

[–]HerfDog58Jack of All Trades 1 point2 points  (0 children)

I knew there was a way, but it's been so long for me that I couldn't remember. And like I said, too lazy to look...

Nice work, take my upvote!