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.