Introducing Terminal Services Easy Print: Part 2

Introducing Terminal Services Easy Print: Part 2

  • Comments 36

[Part II in a series. Jump to Part I, Part II, Part III] 

In Part 1, we introduced the main benefit to Terminal Services (TS) Easy Print: a "driver-less" solution for printer redirection over a TS session. In addition, several other important changes have been made to improve printing redirection performance over TS. This post lists the changes and their benefits.


Change #1: New group policy to allow the redirection of only the default printer of the TS client machine.

            In the past, administrators have requested the ability to have their users redirect only the default printer on the TS client machine, and not all printers. To meet this request, we have introduced a new group policy (GP) to Longhorn Server. The GP is located under:

"Administrative Templates\Windows Components\Terminal Services\Terminal Server\Printer Redirection"


and named:


 "Redirect only the default client printer."

By enabling this GP on a TS server, an administrator will ensure that only the TS client's default printer will be redirected on the TS server, and not all printers.

            By having the ability to allow the redirection of only one printer, administrators may now allow printing redirection -- without taking the same scalability hit they would have by redirecting all printers. Also, administrators can avoid having printers installed that their users will most likely not want to use (such as the Fax printer that comes installed by default on Windows Vista).

            This policy will work with connections from any version of the TS client.


Change #2: Scope of redirected printers


In Windows Server 2003, administrators could see all redirected printers of every user. Also, if a user had multiple sessions open, redirected printers of all sessions would be visible to each individual session. In Longhorn Server, this is no longer the case. The visibility of redirected printers is limited to the session where they are installed.

The behavior is very similar to the behavior of redirected drives. Printers now have the Session SID set in the list of ACLs. Properties of this change include the following.

  • This ACL limits the printers from appearing in another session, even that of the same user. For example, say user1 has logged on to two different TS sessions (session 1 and session 2) on the same server. Redirected printers of session 1 will not be visible in session 2 and vice-versa.
  • There are no exceptions to the above rule. By default, anyone under the "Administrators" local group also will not be able to access the printer.
  • The users can change access to the printers by editing the permissions in the printer properties to be made accessible to other users.

This is a significant change from Windows Server 2003. Previously, redirected printers were visible to all sessions belonging to the same user as well as to all administrators on the server. Due to this new behavior, there has been a perceivable performance improvement in the enumeration of printers and in the logon time of new sessions.


Change #3: Per-session Default Printers

Another new feature in Longhorn Server is that the default printer is on a per session basis. In Windows Server 2003, the default printer for all sessions that share the same user was the same. In Longhorn Server, each session a user owns will have its own default printer set. Each session's default printer is independent of any other session's default printer, regardless of which user created the sessions.

As a result, the registry location holding information about the default printer is different. The per-session default printer is stored in the "Device" key at the registry location mentioned below. If the Device value is empty then it falls back to the per-user default printer key.

HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows\SessionDefaultDevices\<SESSION_SID>

With this change to the registry location, Winspool APIs such as GetDefaultPrinter() and SetDefaultPrinter() should be used to query or set the default printer, respectively.


Change #4: Names of redirected printers are shorter.

            As the screenshots below show, the names of redirected printers have changed. In Windows Server 2003, if a user redirected a printer named "Canon Bubble-Jet BJC-1000", the TS session would display the redirected printer as "Canon Bubble-Jet BJC-1000 (from %CLIENT_MACHINE_NAME%) in session %Session_ID%", as shown in the screenshot below.

In Longhorn Server, the TS session displays "Canon Bubble-Jet BJC-1000 (%SESSION_ID%)" as shown in the screenshot below.

The shorter name helps make the experience more seamless and makes scripting easier.

Leave a Comment
  • Please add 1 and 5 and type the answer here:
  • Post
  • In Part 1 , we introduced the main benefits of Terminal Services (TS) Easy Print: a “driver-less” solution

  • Easy Print looks interesting, but I'm trying to figure out whether it will help with my own situation:

    I have printer which is a couple of years old, connected to my print/file server. There are various client PCs including a Windows Vista system.

    My problem is that Windows Vista drivers are not available for my printer, so I can print from every computer except my Vista PC. This is irritating because every time I want to print a document (e.g. a Word document) I have to share it with (or otherwise copy it to) one of my Windows XP computers, then print it from there. This also means I have to install the relevant application on the XP machine.

    I'm not using Terminal Services (I'm just using simple file and printer sharing) and I know that this isn't the scenario Easy Print is designed for, but it sounds as though it could solve my problem. Any comments?

  • Andy, as you said, Easy Print is not designed for your scenario. Easy Print is used only for redirecting printers over a remote desktop connection to a Windows 2008 Server. Regular file and print sharing does not use Easy Print at all.

  • Hi all, this functionality is already implemented in Citrix client printer mapping, but one of problems is the printing "preview" on server side, this means that printing preview is made on client side ?

    You may confirm that the printed document will be exactly as i see in the server side preview?

    Thank you, i like Windows Terminal services!!!

  • When trying to RDP map a Brother HL-2140 the server responds "Unable to find driver. Please contact your administrator."

    If I understand correctly the server should use the "Easy print" driver when the driver does not exist.

    Can anyone help?

    I'm using Windows 2008 RC1 as a server and another Windows 2008 RC1 as a client.

  • I have read that it requires RDP 6.1. I have looked for it and can not find RDP 6.1 is even released yet for XP or Vista.

    More info found:

    I really wanted to test this too as it is a factor in upgrading to 2008 server.

  • I'm trying to give my RDP Clients only 1 option to print.  I've set the GP for Redirect only Default Printer and Removed the "Add Printer" icon from the print dialogue box.  How can I hide the Microsoft XPS Document Writer Printer from their view?  I tried deleting just the printer and the driver as well as, deleting the printer and leaving the driver, but that leads to no print option at all.  Also how can I remove the "Print to File" option on the print dialogue box as well?

  • i am having problem printing PCL file with

    easy print env' (2008 ts, winxp sp3 .net 3.5,easy print enable client)

    doe's anyone know if easy print support PCL

    Printing ?


  • I would like to use TS Easy Print to redirect a print job and then save it as a file, such as PDF or XPS, or any other format.  I have not been able to get the XPS printer to do this. Although it does say it is redirected, it wants to save the print job on the server, not the client.

  • we are having a problem printing to the non default printer on a xp sp3 .net 3.5 when the application knows the printer name.

    .device ="printer (redirected 3)"

    it will redirect to the default printer. if we use printer dialog to select it work fine

    if client is xp sp2 and rdp 6 prints fine except no easy print

  • I ran into an issue with HP LJ 2420 PCL 6.  Printer is not redirecting, when I set their HP LJ 4200 PCL 6 as default, it works as it should.  Seems to be an issue here,  Client has xp sp3 and .NET 3.5.

  • Во время моего доклада “Безопасный удаленный доступ к приложениям” было задано несколько вопросов по...

  • Во время моего доклада “Безопасный удаленный доступ к приложениям” было задано несколько вопросов по...

  • Hi,  

    I am using remoteapp for Microsoft Great Plains and CRM.  I have an issue when trying to print.  The last user who signs into the GP or CRM sets the default printer.  So every single time a new user signs in they have to change the printer.  The users local default printer is not being set as the default printer in the application its just using the printer of the last signed in user.  How do I fix this.

  • Unable to see images... Looks like the link to your picture location is broken.

Page 2 of 3 (36 items) 123