TS Easy Print technology was first introduced in Windows Server 2008 as an alternative to the use of traditional printing subsystem on Remote Desktop servers. Remote Desktop Easy Print avoids the installation of drivers for the redirected printers on a terminal (RDS) server and allows to easily map a client redirected printer to the Easy Print driver. This significantly increases the stability and performance of work of the Print Spooler service and RD server as a whole.
EasyPrint technology is especially convenient when several dozens of different printing devices (with different drivers) are used on users’ RDS computers, or when a printer doesn’t have a correct driver for the RDS server (a common problem with home printer models).
Easy Print functionality is based on the specifications defined in the standard XPS (XML Paper Specification) for printer’s drivers. The main advantages of XPS format: open document format, portable and independent from the hardware platform, low requirements for channel bandwidth (through the use of more lightweight XML standard). XPS print job through an RDP session are transferred to the client PC and processed by a local print driver.
The EasyPrint driver converts the job sent to print to the XPS format and transfers it to the client device, where it is printed using the native printer driver. One important drawback of EasyPrint technology can be noted – additional resource costs (CPU and RAM) on the RDS server for converting documents, and documents through EasyPrint usually take a little longer to print.
Remote Desktop Easy Print — Client Side Settings
To use the Easy Print on the client side, it must meet the following requirements:
- Operating System — Windows XP SP3 or higher;
- RDP client (mstsc.exe) version 6.0 or newer;
- .NET Framework 3.0 SP1 or .NET 3.5;
- In the RDP connection properties the option Printers redirections should be enabled on Local Resources tab.
If instead of the client mstsc.exe, you run preconfigured RDP shortcut file (.rdp), make sure that it contains the following string: redirectprinters:i:1
If you use an Active Directory user account to log into the RDS server, check that the “Connect client printers at logon” and “Default to main client printer” options are enabled in the user properties in AD on the Environment tab (user properties can be changed from the ADUC snap-in).
If users connect to RD servers through RD Gateway, make sure that the option to deny client printer redirection is disabled in the RD Gateway settings.
How to Enable Easy Print on the Remote Desktop Server Side?
Easy Printer Driver is installed on the server when you deploy Remote Desktop Services role, and in the printer list appears a new printer named Microsoft XPS Document Writer. This print driver supports a variety of printer models.
You can enable the Easy Print on the side of RDS server running Windows Server 2016 / 2012 R2 only via Group Policy.
- Open the local (gpedit.msc) or domain (GPMC.msc) Group Policy Editor console;
- Navigate to the following GPO section Computer Configuration > Administrative Templates > Windows Components > Remote Desktop Services > Remote Desktop Session Host > Printer Redirection (similar settings are available in the User`s GPO section);
- Edit and enable the policy Use Remote Desktop Easy Print driver first;
- To the update GPO settings on your RDS server, open the elevated command prompt and run the command:
Tip. If the client doesn’t support Easy Print mode, RDS server looks for a native printer driver on RD server. If there is no such driver, the RDS user won’t be able to send print jobs from applications to local printer. In this case, you can install the necessary print driver manually on the RDS server. It is very important that the name of the printer in the driver must exactly match the name of the printer in the driver on the client computer, otherwise the redirected printer won’t use the driver on the server.
Check if Remote Desktop Easy Print Driver is Used
Now, it’s time to test the Easy Print policy:
- Close your current remote desktop connection (use logoff instead disconnect) and login again as an RDP user;
- Go to the Control Panel and select the item Devices and printers;
- Find your redirected printer (its name should match the default printer name on your computer, in this example this HP LaserJet P3011/P3015 ) and open it properties;
- Go to the Advanced tab and make sure that Remote Desktop Easy Print driver is used;
- Send the test print job and make sure that it is properly printed on a local printer.
If fonts are distorted when printing to a local printer through Remote Desktop Easy Print, try installing the latest version of NET Framework on the client computer.
If documents don’t get into the print queue on the client, check that the spooler service is running on the client and server. And also check the correctness of the service permissions:
sc sdshow spooler
It should be like that:
If your permissions are different, change them with the command:
sc sdset spooler D:(A;;CCLCSWLOCRRC;;;AU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWRPWPDTLOCRRC;;;SY) [SC] SetServiceObjectSecurity SUCCESS
After setting permissions, you must restart the computer.
Deleting Native Print Drivers from RDS
After the Remote Desktop Easy Print policy is activated, you can delete the native printer drivers from the server.
Important! You must not remove the printer and driver Remote Desktop Easy Print and Microsoft XPS Document Writer. Without them, print redirection will not work.
Unnecessary print drivers can be removed through the control panel: Control Panel > Hardware > Device and Printers > select any printer and click “Print server properties” in the top menu.
Go to the Drivers tab and remove all unnecessary drivers except Remote Desctop Easy Print (select the drivers in turn and click Remove).
By default, the number of redirected printers in the RDS session is limited to 20. This behavior can be changed by adding to the registry parameter MaxPrintersPerSession to the key
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services. You should set MaxPrintersPerSession value to the desired maximum number of redirected printers.
For better RDS performance, you can redirect only one default printer from clients PC. In this case, enable the policy named Redirect only the default client printer.
Thus, by using the Easy Print greatly simplified configuration of Remote Desktop servers. Another thing is that the Administrator will no longer need to install the same printer drivers on the server and the local computer.