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.”

“Terminal Services temporary client license will expire in…”

Having used the different versions of Windows Server 2003 for a long time I tend to use Standard Edition to utilise Terminal Services for remote workers.

In some instances before the implementation is full complete and the required TS CALS purchased a user will be required to log in after the 120 days temporary license has expired.  A temporary work around to resolve this remotely is as follows:

  1. Login remotely via VPN.
  2. Using “Computer Management” click “Action” > “Connect to another computer…” and type in the IP address of the server and click OK.
  3. Expand “Services and Applications” and then click “Services”.
  4. Scroll down to “Terminal Server Licensing”, right click and “Stop”.
  5. Using Explorer browse to “\\<ip address>\c$\WINDOWS\system32\LServer” delete all the files ending “.edb”
  6. Go back to “Computer Management” and “Start” the “Terminal Server Licensing” service.

The client can now logon with out the expiry message.

Please note: To carry out the steps above you are required to have administrator access rights to the server.