Print jobs that are sent to Terminal Services redirected printers may print on another client's printer


When you try to print to your redirected printer, your print job may print out on another user's local printer. Also, other user's print jobs may immediately start printing on your local printer when you log on to a new Terminal Services session.


This problem can be caused if the server is misconfigured. Terminal Services redirected printers are meant to be created by the server when the client logs on, and then deleted by the server when the client logs off. This is designed to work automatically.

The drivers for redirected printers are identified by driver name, and driver name mis-matches between OEM drivers on the client computer and the built-in Windows drivers on the server sometimes cause this automated process to fail. When this process fails, the user's redirected printer is not created, but the Terminal Services redirected printer port for that device is still available in the Add Printer Wizard. Some administrators attempt to fix this for the user by manually installing a new local printer, and then configuring it on the Terminal Services redirected port pointing to that client's printer in that current session. This is not the correct way to resolve this problem.


The correct way to fix this problem is outlined in the following Microsoft Knowledge Base article:

239088 Windows 2000 Terminal Services Server Logs Events 1111, 1105, and 1106
The server must be configured so that the automated process understands to substitute the built-in Windows drivers on the server for the OEM drivers on the client computer.


Microsoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article.

More Information

Example Scenario

User A logs on to the Windows Terminal Server. Some time later, user B logs on also. Both are connecting from clients that are running Microsoft Windows 98 with Hewlett Packard (HP) DeskJet 722C printers. The printers are not automatically redirected because the HP OEM drivers are named "HP DeskJet 720 Series Printer" but the built-in Windows driver for this on the server is named "HP DeskJet 722C" in the Ntprint.inf file. This mismatch causes automatic redirection to fail, and logs event IDs 1111, 1105, and 1106 in the System Event Log on the Terminal Server.

To try to fix this, an administrator tries to install new local printers for both user A and user B on the server. The administrator configures the printer for user A to use the TS001 port and the printer for user B to use the TS002 port because these are the ports that redirect to the client's LPT or windows printer ports in their current sessions.

User A and user B log off, and user B logs back on some time later. Because Terminal Services redirected printer ports are reassigned and reused as they are available, user B's redirected windows printer port is now TS001. However, the local printer on the server that the administrator created for user B still points to TS002 (where the administrator specifically configured it to print). User B attempts to print to this printer, but the print jobs only queue up. This is because port TS002 is not currently assigned to any RDP client, and because of this, is unavailable. When user A logs back on, his redirected printer port is assigned to TS002. Now that the TS002 port is suddenly available, the Terminal Server will start spooling the jobs that user B has printed to user A's local printer.

For as long as user A and user B remain logged on like this, any jobs that user A prints to the printer the administrator installed for him will spool on user B's printer, and user B's jobs will spool to user A's printer.

If by chance user A and user B receive the same Terminal Services redirected printer ports they originally had, the problem will appear to go away for a short time. This makes it harder to identify and troubleshoot, and can make the problem appear to occur randomly.

In an environment with more than two users this can become much more complex. All kinds of variations are possible such as A printing to B, B printing to C, C printing to A, or A and B both printing to B's printer (assuming B is actually printing to an automatically created printer and A is printing to one the administrator created), and so on.