Home Sitemap Feedback About... Print
Custom Search

TS + Citrix Troubleshooting


TS & Citrix FAQ - Printing

  1. My printer spooler keeps crashing! How can I solve this?
  2. My users can see all redirected printers. How can I make them see only their own printers?
  3. How can I turn off printer notifications for all users?
  4. I want only specific printers to be redirected. Can this be done?
  5. Can I remove the session number from the redirected printer name?
  6. My old DOS application needs to print to LPT1. How can this be done?

Other FAQ sections: Installation | Server configuration | Client resources | User issues | Licensing | Printing | Connectivity | Profiles | Performance | Applications | Administration & Monitoring | More FAQS


Q: My printer spooler keeps crashing! How can I solve this?
Last modified: June 17, 2007

A: A crashing printer spooler on a Terminal Server is nearly always a sign that you are using a 3rd party printer driver which is not TS-compatible.
The remedy is to uninstall all 3rd party printer drivers and map all printers that don't autocreate to a native printer driver on the server, by creating a custom ntprintsubs.inf file. Details are explained here (apply to 2003 also):

239088 - Windows 2000 Terminal Services Server Logs Events 1111, 1105, and 1106

You can check the recommended native driver substitution for your local printers here:

Client Printer Autocreation Matrix - by PrintingSupport.com

You can check which drivers are installed on your server by going to:

   Start - Printers and Faxes - File - Server properties - Drivers

Top of page | FAQ | Home


Q: My users can see all redirected printers. How can I make them see only their own printers?
Last modified: June 17, 2007

A: If your users can see each others redirected printers, they are most likely members of the Administrator or Power Users user group. Type "whoami /groups" in a Terminal Server session to see the group membership list of a user.

If that's the case, there is no way to prevent them from seeing all printers (and they will be able to do far more serious damage than merely printing to the wrong printer!).
Make them normal users again, and if you made them Administrators to solve a permission problem with an application, check this Q&A:

My application runs fine for Administrators, but not for normal users

Update Some applications, for example Lotus Notes 5.5 and Microsoft Excel 2002, may display redirected printers from other sessions, for which users have no permissions.
You can solve this with a free utility from ThinPrint: MyPrinterView

In Windows Server 2008, this is no longer an issue. The visibility of redirected printers is limited to the session where they are installed. For more information, see Terminal Services Easy Print

Top of page | FAQ | Home


Q: How can I turn off printer notifications for all users?
Last modified: June 17, 2007

A: You can turn off printer notifications in

   Printers and Faxes - Print Server Properties - Advanced
   Uncheck "Show informational notifications for local printers"
   Uncheck "Show informational notifications for network printers"
but if you want to configure this for all users, import the following policy template file into your GPO and uncheck "Only show policy settings that can be fully managed" under View - Filtering:

   CLASS USER
   CATEGORY !!PrintNotifications
	   POLICY !!EnableLocalNotify		
	   KEYNAME "Printers\Settings"
		   #if version >= 4
   		   SUPPORTED !!SUPPORTED_WindowsXP
		   #endif

		   EXPLAIN !!EnableLocalNotify_Help
		   VALUENAME "EnableBalloonNotificationsLocal"
		   VALUEON  NUMERIC  1
		   VALUEOFF NUMERIC  0
	   END POLICY

	   POLICY !!EnableRemoteNotify
		   KEYNAME "Printers\Settings"
		   #if version >= 4
		   SUPPORTED !!SUPPORTED_WindowsXP
		   #endif

		   EXPLAIN !!EnableRemoteNotify_Help
		   VALUENAME "EnableBalloonNotificationsRemote"
		   VALUEON  NUMERIC  1
		   VALUEOFF NUMERIC  0
	   END POLICY
   END CATEGORY ; PrinterNotifications
   [Strings]
   PrintNotifications="Print Notifications"
   EnableLocalNotify="Show informational notifications for local printers"
   EnableRemoteNotify="Show informational notifications for network printers"
   EnableLocalNotify_Help="When Enabled, the status of print jobs are displayed in a pop-up window, 
   when printing to a stand-alone network printer or to a printer attached directly to your computer. 
   This pop-up window appears near the notification area of the user who sent the print job.
   When Disabled, the above described pop-up status messages will not be displayed."
   EnableRemoteNotify_Help="When Enabled, the status of print jobs are displayed in a pop-up window, 
   when printing to a printer that is attached to another computer. This pop-up window appears near 
   the notification area of the user who sent the print job.
   When Disabled, the above described pop-up status messages will not be displayed."
   SUPPORTED_WindowsXP="At least Microsoft Windows XP Professional or Windows Server 2003 family"

Top of page | FAQ | Home


Q: I want only specific printers to be redirected. Can this be done?
Last modified: June 17, 2007

A: Yes. If you want to redirected only a specific type of printer, you can use the FilterQueueType value on the client.

302361 - Printers That Use Ports That Do Not Begin With COM, LPT, or USB Are Not Redirected in a Remote Desktop or Terminal Services Session

describes how to redirect all ports, by configuring the value
   FilterQueueType = FFFFFFFF
but you can be a bit more granular. Here are all defined values:
   FilterQueueType = 1           All ports that begin with LPT   
   FilterQueueType = 2           All ports that begin with COM
   FilterQueueType = 3           All ports that begin with LPT or COM
   FilterQueueType = 4           All ports that begin with USB
   FilterQueueType = 5           All ports that begin with LPT or USB
   FilterQueueType = 6           All ports that begin with COM or USB
   FilterQueueType = 7           All ports that begin with LPT, COM, or USB
   FilterQueueType = FFFFFFFF    All ports
For redirection of the default printer only, see this KB article:

911913 - How to redirect ONLY the default printer of a Terminal Services client to a Windows Server 2003 Terminal Server session

Most 3rd party universal printer driver solutions provide you with many more options, such as only local, only network, only default, only the first xx number, or only specified.

Top of page | FAQ | Home


Q: Can I remove the session number from the redirected printer name?
Last modified: August 5, 2007

A: Yes, you can remove the session id from the redirected printer name by using the "RenamePrinter" method of the Win32_Printer WMI Class to rename the printer with a logon script.
But your script needs to impersonate a user account with at least Power User rights to be able to rename the redirected printer.

And no, it is not possible to assign a fixed session id to a specific user or client.

The usual reason for wanting to remove the session id from the printer name is that a specific application needs it. If that's also your problem, the best way to solve it is to make sure that the application uses the GetDefaultPrinter function. This will retrieve the default printer in the session, irrespective of the changing session id.

Another possibility is to use a 3rd party universal printer driver solutions. Most of them support a custom printer naming scheme.

Top of page | FAQ | Home


Q: My old DOS application needs to print to LPT1. How can this be done?
Last modified: June 17, 2007

A: You have to disable the physical LPT1 port on the Terminal Server in Device Manager to allow users to redirect LPT1 to their local printers. Windows Server 2003 does not allow normal users to redirect physical ports, i.e. LPT1, but after you have disabled LPT1 in Device Manager or the BIOS, users will be able to redirect LPT1 because it would then be a logical port.

Then share the local client printer and add a line to your user's logon script:

   NET USE LPT1: \\tsclient\<shared_local_printer>

Top of page | FAQ | Home