Multiple printers being created by terminal sessions

Hi,
I am running Windows Server 2003.  Users connect through terminal services.  My issue relates to printing.  

I have a printer connected to the LPT port of a client PC.  The printer is shared and advertised in the directory.  Logged in locally as an Administrator on the server, I add this printer and successfully test print.  So far so good.

When a user logs in through terminal services, they select this printer and print successfully.  However, their action creates another instance of the printer.  

For example, as an administrator if create a printer called "Xante AW1200" which is connected to a client PC called "Barb".  When a user "Ingrid" prints from within a terminal sessions another printer called "Xante AW1200 on Barb (from Ingrid) in session 7" is created.  

The problem is that users are confused as to which printer they should select as there may be 4 to 5 instances of the same printer showing up.

When I look at the ports assigned to these multiple printer connections, they read, for example, "TS018".  
For those printers that have network cards installed, TCP/IP port assignments from the server, and sharing from the server rather than from a client PC the same issue exists.

Security on all printers is "Print" for the everyone group and full access for Administrators.  I have tried granting full access to the everyone group and this doesn't solve the problem.

This issue stumps me and any assistance would be greatly appreciated.  I may be delayed in responding sometimes but please bear with me as I will respond and am very keen on solving this.

Thanks,

David Bristow
daveb@langsystems.com
askeyAsked:
Who is Participating?
 
Cláudio RodriguesConnect With a Mentor Founder and CEOCommented:
The best approach, if the TS can see the network printers (as these are network printers, either on its own or shared from another machine) is to create these printers on the TS itself. The reason for that is simple.
If I have a mapped printer on my PC (network printer) and I connect to the TS and it automatically creates that printer for me, when I print the job goes from TS to my PC and from there to the printer, in a dual hop scenario.
If I create such network printer on the TS, when I print the job goes directly to the printer, avoiding the dual hop what is more efficient.
So in this particular case I would disable the CLIENT to map the printers.
On a side note if users can see all the printers the TS created this means a couple things:
1. Users are using a common username/password to login to the TS and not unique IDs.
2. The users have more privileges than they should have (they may be Power Users or Administrators).
3. Or the TS is not up to date in terms of patches. :-)

Hope this helps.

Claudio Rodrigues
Microsoft MVP
Windows Server - Terminal Services
0
 
Cláudio RodriguesFounder and CEOCommented:
You are misunderstanding how printing and terminal services work.
Terminal Services has a built-in mechanism where printers connected to the client are automatically mapped (created) on the server, under the user session. There is no need whatsoever for you to add or create printers on the TS. This is done automatically by the TS.
You can of course change such behavior and simply tell the TS not to create any printer that exists on the client side.
To do that you can either go on the CLIENT and on the 'Resources' tab, UNCHECK 'Client Printers'. The second option is to run TSCC.MSC on the TS and on RDP-tcp disable the client printer mapping.
Note such mechanism exists to make your life easier so you do not have to manually create such printers. It is all done for you.
But again if there is a reason for you to reinvent the wheel, go nuts. :-)

Cheers,

Claudio Rodrigues
Microsoft MVP
Windows Server - Terminal Services
0
 
dreamyguyCommented:
In Terminal services,

1. All local printers get automatically redirected onto the server.
2. Clients see only their own redirected printers in the Printers dialog box.

This behavior is by design.
0
Cloud Class® Course: Python 3 Fundamentals

This course will teach participants about installing and configuring Python, syntax, importing, statements, types, strings, booleans, files, lists, tuples, comprehensions, functions, and classes.

 
askeyAuthor Commented:
It's true that I didn't understand that this is by design.  Thanks for clearing up my misunderstanding.

So, I understand now that local resources such as printers are mapped over into ts sessions if they are selected under local resources.  The problem, however, is that multiple instances of these local printers are being created and not disappearing once the user who has that locally attached printer logs off of terminal services.  Is this by design also?  Other logged on ts users are then getting confused as to which printer to select.  

Also, these printers need to be selectable for many ts users, not just those who have the printer attached to their local PCs.  Is my best course of action then to create the printer connection on the server and then "run TSCC.MSC on the TS and on RDP-tcp" ?  And no, I don't want to reinvent the wheel :-)

Thanks again,

David Bristow
daveb@langsystems.com
0
 
dreamyguyCommented:
When a session printer is created, it is supposed to get deleted automatically when a user logs out or gets disconnected. However there have been instances where the printers remain even after users get disconnected. These printers are known as ORPHANED printers which can happen due to bad printer drivers.

download.microsoft.com/download/4/6/b/46bae314-ea7b-4c39-bcb6-defbc907ee54/TSPrint.doc
0
 
dreamyguyCommented:
Yes, the best way for all the users to access the printers in the TS would be to create the printers on the TS.
0
 
askeyAuthor Commented:
Thank you for your input.  I will proceed to setup the printers on TS and disable the clients to map the  printers.  I won't be able to implement this solution until tomorrow (Thursday).  I'll let you know how I make out.

David Bristow
daveb@langsystems.com
0
 
askeyAuthor Commented:
Problem solved.  Thank you very much for your help.

David Bristow
daveb@langsystems.com
0
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.

All Courses

From novice to tech pro — start learning today.