• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 631
  • Last Modified:

Removing User Printers on a Terminal Server in Mass

Is there a way to clean up user defined printers on a terminal server?

Let me give you an example of what I have run across.

User 1 has logged onto the terminal server.
User 1 then  created a printer and gave it the name MYPRINTER, he used the IP address to connect.  This printer is located in the office.
The terminal server already has a printer named "OFFICE 1".  It is not shared, it is an IP printer. It is the one located in the office.

Now I have each user with a different printer name for the same system printer.

This creates confusion.  As well, when OFFICE 1 goes down,  I simple re-point the server printer OFFICE 1  to another IP of a printer that is working, OFFICE 2.  However,  those users with custom printers names for the same printer complain because their  print jobs continue to go to the dead printer.  

I want to clean up this mess by forcing  everyone to use the same printer name .

What is the best way to
1) Remove all the custom (user setup) print names.  I would like to do this without having to go to each users log-on.
2) Make available to everyone's printer selection list the core group of printers they need.

  • 2
  • 2
1 Solution
How  about a login script to wipe the subkeys under the following?


Could even run a script to mount all the user profiles and then wipe that key....

There are a handful of other values under "HKEY_CURRENT_USER\Printers\Settings" for network printers, but they are just remnants....

As you don't know the printer names you'll need to run this via a VB script to lookup the printers locally installed.

Then you can use Printui to add the correct network printers.

See this one: http://www.experts-exchange.com/Programming/Misc/Q_20908993.html?sfQueryTermInfo=1+10+30+printui+vb
HCSHAWAuthor Commented:
Good information.   I need to add back a printer to ALL USERS that was deleted yesterday.  The PRINTUI.DLL seems to be the way to go, but I have not had and success getting it to show up on all users available printers.  What am I doing wrong?

C:\WINDOWS>rundll32 printui.dll,PrintUIEntry /ga /c\\ala-trmsrvr /n\\Ala-Sxe\DReport1

ala-trmsvr is the Terminal server that all users needs to have the printer show up on.   The printer is actually defined on ALA-SXE and is shared out.    The printer is currently showing up under ADMINISTRATOR since I orginally added them for checking the printers from one server.

Running the command reports no errors.

Hoping on a users session that is already logged in, I do not see the printer appear in their selection list.

Any idea as to what is happening?   I can't find any logs to do some trouble shooting.

It doesn't log unless set to if i remember right
Let me check my scripts....

OK, use /in instead of /ga (/ga require administrative rights from what I can see.)

C:\WINDOWS>rundll32 printui.dll,PrintUIEntry /ga /c\\ala-trmsrvr /n\\Ala-Sxe\DReport1
C:\WINDOWS>rundll32 printui.dll,PrintUIEntry /in /n\\Ala-Sxe\DReport1
HCSHAWAuthor Commented:
It seems like I have everything I need to do the clean up.   Thanks for all the suggestions and examples.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Introducing Cloud Class® training courses

Tech changes fast. You can learn faster. That’s why we’re bringing professional training courses to Experts Exchange. With a subscription, you can access all the Cloud Class® courses to expand your education, prep for certifications, and get top-notch instructions.

  • 2
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now