RDP/Terminal Services Printer Driver Mapping

Client’s who RDP’ing in to their desktop unable to print to their local printer?  Have you got “TerminalServ” errors in the “Event Log” relating to missing drivers?

This is cause by the names of the drivers not matching up, i.e. on the click you have a driver for “Samsung ML-2250 Series” whereas the server has the driver for a “Samsung ML-2250 Series PCL 6”.  Only a slight difference but this causes them not to match up and as a consequence stops printing over the RDP session.

You’ll need to edit the registry and create two new values and create a ‘mapping’ file:

Key: HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd

Value: “PrinterMappingINFName”

Type: REG_SZ

Data: Name and path to mapping file, e.g. “c:\windows\system32\TSprinters.inf”

Key: HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd

Type: REG_SZ

Value: PrinterMappingINFSection

Data: Name of the section in the .INF file that contains the actual mappings, e.g. for example “Printers”

Create a file in “c:\windows\system32\” called “TSprinters.inf”, basically it must match your newley created registry key.  The content should start like so:

;PRINTSUBS.INF

;This file contains Mappings for Client driver to Server driver printer connections

[Printers]

;”Client Printer Driver Name” = ” Server Printer Drive Name”

“Hewlett Packard LaserJet 5P” = “HP LaserJet 5P”

Now restart the “Print Spooler” on the RDP/Terminal Services Server, log off and back on and print!

Thank to Brian Madden for this extract from “The Ulimate Guide to Terminal Server Printing, Design and Configuration.”