Thoughts from the EPS Windows Server Performance Team
Useful Microsoft Blogs
A common issue we work with is Printer Redirection issues with Terminal Services on Windows Server 2003. Although printer redirection seems fairly simple on the surface, the issues that we work on can get somewhat convoluted. So today we're going to look at some common troubleshooting steps for Printer Redirection issues. However, before we get to the troubleshooting steps for tackling this problem let's take a quick look at Printer Redirection itself.
Printer redirection was first implemented in Windows 2000 Server. Printer redirection enables the users to print to their locally installed printer from a terminal services session. The Terminal Server client enumerates the local print queues to detect the locally installed printers. This list is presented to the server and server creates the print queue in the session. The TS client provides the driver string name for the locally installed printers and if the server has matching drivers installed then the printers will be redirected. When we look at Printers on the Terminal Server, a redirected printer will have a name similar to what is shown below:
As you can see, the naming convention follows this format:
Client Printer Name (from Client Computer Name) in Session Number
The printer queues created in this manner are referred to as automatic printer queues. However the Terminal Server administrator could also create manual print queues by selecting the redirected ports in the Add Printer Wizard.
Seems pretty simple, right? Let's start looking at some problem scenarios ...
Scenario 1: Printer Redirection fails for all clients
The most common scenario is when Printer Redirection does not work for any of the Terminal Server clients. There are a number of troubleshooting steps to take when this occurs:
Check the Windows Printer Mapping Check Box:
Launch the Terminal Services Configuration utility. Double-click the Connections folder. In the right-hand pane, right click on RDP-Tcp and select properties.
Once you have the property sheet open, select the Client Settings tab. At the bottom of the tab, there is a section labeled Disable the following: as shown below. Ensure that the Windows Printer mapping checkbox is not selected. If it is, that means that the Terminal Server will not allow client Printer Redirection.
Group Policy Settings:
Printer Redirection can also be configured through Group Policy. The setting to prevent client printer redirection is located in the following container: Computer Configuration\Administrative Templates\Windows Components\Terminal Services\Client / Server Data Redirection. The name of the policy setting is "Do not allow client printer redirection" as shown below
If this policy is enabled, it will prevent client printer redirection. In addition, the Windows printer mapping checkbox in the Terminal Server Configuration console is disabled.
Terminal Server Device Redirector:
The server side component responsible for printer redirection is RDPDR.SYS. You can check the status of this driver in Device manager as shown below. If the Terminal Server Device Redirector is disabled, as in the screenshot below then device redirection will not work.
Make sure that Terminal Server Device Redirector is in enabled status. You can also use the following command to recreate this device: devcon -r install %windir%\inf\machine.inf root\rdpdr. More information on the DevCon utility is available in
Registry key verification
If you have implemented the mentioned in Microsoft KB Article 268065 it will prevent printer redirection from functioning. As per this KB if the registry value fEnablePrintRDR is set to 0, Printer Redirection will fail even if the Print Spooler is started on the Terminal Server. This will not register any events. As part of your standard troubleshooting you should check whether the following value exists: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\fEnablePrintRDR.
Scenario 2: Printer redirection fails for a single client:
When Printer redirection fails for a single client, there are a couple of things to check. First, check the settings on the Remote Desktop client on the problem machine and ensure that the Printers check box is checked to allow redirection:
The other thing to check (often overlooked) is the Remote Desktop Client version on the problem machine. You should always ensure that you are running the latest RDP Client on your client machines.
Scenario 3: Certain Printers are not Redirected
In some situations, individual printers are not redirected. On the Terminal Server itself you may see an error similar to the one below:
Type: Error Event ID: 1111 Description: Driver drivername required for printer printertype is unknown. Contact the administrator to install the driver before you log in again.
In many instances, the quickest way to work around this situation is to install the printer driver directly on the Terminal Server. However, with Windows 2003 Server Service Pack 1, you can use the Fallback Driver Capability instead. The policy for this is located under Computer Configuration\Administrative Templates\Windows Components\Terminal Services\Client / Server data redirection\Terminal Server Fallback Printer Driver Behavior
When you enable the policy, you have the following options:
An extremely useful tool to use when troubleshooting Printer Redirection is the TS Printer Redirection Wizard tool. This utility scans the Terminal Server's System Even log and detects all Event ID 1111 events with a source of "TermServDevices". The tool then scans the registry for installed Version 3 MINI drivers, and prompts the Administrator to substitute an installed driver for each of the printers that failed redirection. Any changes are written to a file where the custom redirected printer mappings are stored.
Sometimes multifunction print devices may not be redirected unless you are running Windows Server 2003 on your local computer because they use DOT4 ports. Only W2K3 redirects printer port names that do not begin with COM, LPT, or USB. If you are using a Windows XP machine use the workaround mentioned in Microsoft KB Article 302361.
Last but by no means least, please do not forget to make sure that your printing subsystem is functioning properly on both the Terminal Server and the TS Clients even before you start troubleshooting printer redirection issues in Terminal Services.
And just as a quick note, Citrix uses different methods for redirecting printers and these troubleshooting steps may not be applicable for Citrix servers. And that brings us to the end of our post on Terminal Server and Printer Redirection. I hope you find this information useful, and if you have any feedback, please don't hesitate to let us know!
- Nithin Das
PingBack from http://www.ditii.com/2007/08/24/terminal-server-and-printer-redirection/
[Today's post comes to us courtesy of Damian Leibaschoff and the ASKPERF Blog] This is a topic that still
Now where was THIS article when I was giving myself a crash course on Terminal servers?
Right down to that last one. We had a bunch of printers that wouldn't redirect, turned out to be only TCP/IP. That last article with changing the key to ffffffff did the trick. Ended up writing a small batch file with the Terminal icon attached to it for all the users to ensure printing was constant too.
Trying to run the redirection wizard on Windows Server 2003 X64d getting 'error 3' no Version 3 Mini Drivers Installed. Install at least one. Looked all over the support groups to find out how to install a version 3 mini driver to no avail. Can anyone help?
Fantastic article - great information which seems very hard to find. Especially since the problems I was having seemed very common.
All is well now though - Thanks.
question: what kind of permissions are required for regular end users to add their own printers to windows 2003 x64 terminal server?
We have several remote users running XP accessing terminal server (2003). We
recently added our first Vista client, but when connected, none of the local
printers appear. The printer is connected via USB and all local resources
are enabled. The XP clients required a FilterQueueType"=dword:ffffffff
registry entry but this has not made a difference to the Vista client.
The printer works fine locally
My new laptop doesn't have a parellal
port. How do I print remotely using a USB printer ?
Thanks in advance
Scenario 4: redirection sets up the default printer twice ???
Is it possible to change the Terminal Server Fallback Printer Driver?
I'm using a Brother printer and the HP Deskjet 500 does not work.
just curious...why is the background dark blue and the words black? It's impossible to read this way...
Monica - there was an issue with the provider that housed the images for the blog. That has since been resolved, so you should be seeing the blog as normal (black text on white background). If you are not, you should clear out the browser cache / temporary files ...
For # Ray Ruete said on November 28, 2007 12:31 PM:
Make sure that drivers you use on Vista machine is present on the terminal server as well.
After reading this, I was wondering. Is there away that you can rename the printer that was autocreated?
I have changed printers to the CP1215 from HP. I have installed the same drivers on the server that are installed on the client (Vista Home). When I attempt to print from the TS session, the print job shows up in the print queue but does not print to the print device without a Print Spooler restart, and then the job hangs in the print queue and does not allow subsequent prints to be processed.
Any help would be appreciated.
We have 6 Terminal Server, when some TS client can't find print, we suggested him to log-on another Terminal Server which has the same settings, then print was found. This problem occurs all the time, and we don't know why??