I’ve been struggling with this issue for the last freaking three years with this issue!!! And I’ve been able to fix once forever only today, after countless hours of attempts and internet searches and queries to “Windows gurus and experts”.
None of which ended to any decent result. SO, since today I fixed it, I’ll write the solution here for the sake of the Human Kind 🙂
Issue: a Windows client (no matter if XP, Vista, 7) connects to a Win 2003 terminal server and flags in mstsc.exe to redirect his printer.
Connection succeeds and he opens a file on server, tries to print and… whoa! The local printer is not redirected.
Unsure in which proportion the two countermeasures I’ve taken helped, hence I report here both:
- insert a registry key to redirect all client printers, regardless of the “port names” they are connected to.
- enable Windows 2003 server to fall back on “known” printer drivers, in case the client printer does not match to any printer driver present on the server itself
Insert registry key for “global” printer redirection on client
On the client launch Regedit.
Navigate to HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Default\AddIns\RDPDR
Add a key of type DWORD named FilterQueueType with value ffffffff
This tells to the system to redirect each and every printer on the client, regardless of the port name it is connected to. If this keyword is absent, not all port names are correctly redirected but only the most standard ones (e.g. LPT…)
Enable “Printer Driver Fallback” on Windows Server
On the Windows 2003 server, launch mmc.exe.
Add a snap-in to edit Group Policy
Open it and navigate to: Computer Configuration\Administrative Templates\Windows Components\Terminal Services\Client / Server data redirection\Terminal Server Fallback Printer Driver Behavior
as shown below:
Click to zoom
The configure it to be Enabled and configured as more appropriate for the printer you are using on the client:
Once you save and reconnect in a new terminal server session, you will see your printers properly redirected and usable in your terminal session.
Enjoy, and let me know your comments!