In Windows Server 2008 R2 Microsoft introduced the Easy Print feature. The easy print feature is a Microsoft solution for limiting the amount of drivers used by printers that are mapped via the client printer redirection option. In this article I will start with explaining the printer connection possibilities, followed by describing which configuration options are available, what happens when a specific setting is configured and what Microsoft could do to improve this feature.
Changes to Easy Print since Window Server 2008 R2
Windows Server 2012 R2 is the latest version and nothing has changed in all these years and different versions of Windows Server. Later on in this article you will see why I personally think that with some small improvements this feature would have been much better. The good thing is that this article applies to all Windows Server versions since Windows 2008 R2.
Printers within RDS Sessions
Experienced people can skip this paragraph as printing within Terminal Services/Remote Desktop Services has not changed fundamentally over the years. However, I still regularly come across customers where there are misconceptions of the way printers and drivers are used within RDS infrastructures.
There are ways printers can be connected within an RDS session. A printer assigned via the RDS client, where the printer device is defined on the client itself and a printer connected directly via the network (so connected from a printer server or directly via a hostname/ip-address).
The first category is named Client Printer Redirection, which means that the printer is connected from the client via the RDP client into the RDS session. The print's job will be sent via the RDP channels from the RDS server to the RDS client, where the job will be sent to the print device/queue.
The second category which I label as network printers are mapped directly into the session. The print job will be sent from the RDS server directly to the print device/queue.
The Easy Print functionality is only for the Client Printer Direction category, network printers cannot use this functionality. Later on in this article I will mention some possibilities for network printers, but we will focus first on Client Printer Redirection and what Microsoft has to offer in this category.
What is Microsoft Easy Print?
With Client Printer Redirection the printers available to the client are mapped into the RDS session. The redirected printer needs to be connected to a printer driver that is available on the RDS server. Before Easy Print, you needed to have the same printer driver available on the RDS server as this one was available on the connected client. This could lead to having hundreds of printer drivers on one server, which was not optimal for stability of the RDS server. A kind of solution was to “map” a specific client driver to a driver which was available on the server. For several similar printers this worked pretty well, but for many printers the exact driver was needed. Easy Print solves this issue by mapping the Client Printer to the Easy Print driver instead. So you don’t need to have a separate driver for the printers that are connected via the Client Printer Redirection.
Configuring Easy Print
The Easy Printer driver is installed by default when RDS is enabled. The whole configuration is done via Group Policy Objects. The configuration settings can be found at Computer Configuration – Administrative Templates – Remote Desktop Services – Printer Redirection. A few settings can be found at the User Configuration in the same path Administrative Templates – Remote Desktop Services, Printer Redirection. As the settings are exactly the same as at Computer configuration I will describe the settings based on the Computer Configuration. I will describe later on when the user settings can come into play.
Figure 1: Easy Printer Configuration option with Group Policy Object.
Do not allow client printer redirection
The first setting is not really related to Easy Print, but is an important one. By default Client Printer Redirection is enabled, so no configuration changes are needed. I assume that you don’t want to disable Client Printer Redirection, otherwise you cannot use the Easy Print feature. So, by default this setting would not be configured. If you want to override settings configured at a different level you could set this setting to disabled (as policies have the highest priority). For example you can configure enable or disable Client Printer Redirection (and some configuration settings) on the Collection Set.
Figure 2: Client Printer Redirection can also be enabled/disabled within a collection set.
Do not set default printer to be default printer in a session
The second one is also not specific for Easy Print, but is usually overlooked. When Client Printers are detected and Client Printer Redirection is enabled, the printer defined as default on the client will also be set as the default client within the RDS session. When network printers are being used it may be the case that this behavior is not the way to go. By enabling this policy the Client Printers will be redirected, but will not be set as the default printers.
Redirect only the default client printer
This setting is not specific to Easy Printer, but also related to Client Printer Direction. By default all available Client Printers will be redirected to the RDS session. Users with many client printers can complicate matters and usually the default printer is enough for end-users. By enabling this policy setting you can define that only the client printer that is set as default will be redirected into the session and the other printers are not redirected. It really depends if this is the desired behavior in the organization.
Use Remote Desktop Easy Print printer driver first
This setting is one of the ways to enable the Easy Printer functionality. By enabling Easy Print, printer driver will be used for all Client Printer Redirection that will be created. In normal situations this will make all Client Printers created using the Easy Print driver. I did not see a case that the driver could not be used. That this behavior can cause some issues is true as I will describe in the next paragraph. By default the Easy Printer driver will not be used, so you should enable this policy if you would like to use Easy Print for all Client Printers.
Specify RD Session Host server fallback printer driver behavior
This setting sounds like it’s not related to the Easy Printer driver but it is. With this policy you define the use of the Easy Print Driver in another way as Use Remote Easy Print printer driver first setting. By default the Easy Print option is disabled, which is the same as configuring this setting with the Do nothing if one is not found. In other words, if no suitable driver is found for the Client Printer the printer will not be redirected. The other three configuration options enable the Easy Print printer driver when a suitable driver cannot be found in the first place. So, only when there is no driver available (third party added or natively available on the Windows server version) the Easy Print driver will be used. With this policy you can define whether to use PCL, PS version or both when the Easy Printer driver will be used as a fallback scenario.
What could be improved?
I think most organizations will use the Use Remote Desktop Easy Printer driver first as the default setting as this guarantees that no other driver is required. However, I had a case that the printer was using the Easy Printer driver (so it was detected and used), but there were issues with the printer (it took about 3 minutes when the printer actually started to print on paper). So, we needed to change the setting to Specify RD Session Host server fallback printer driver behavior. As I already mentioned the server first will check if a driver is available. What I don’t really like is that if no driver is installed, but the device is recognized and a native MS driver is available, this one will be installed. This will force many printers to use the native driver and you will get a lot of drivers on the RDS server. Although, native drivers are not bad at all, I have seen on a regular basis that printing from specific applications or specific functions in applications did not function correctly. In this case, it worked fine with the Easy Print driver, but not with the native driver.
As an improvement, I would really suggest Microsoft to add a configuration setting that disabled automatic adding of native drivers. You can completely manage with drivers that are available in combination with Specify RD Session Host server fallback printer driver behavior. As I’m also implementing Citrix XenApp/XenDesktop at several customers, I know it’s possible because Citrix is offering such feature.
Figure 3: Citrix can prohibit automatic installation of native printer drivers.
As a workaround, you can use the Use Remote Desktop Easy Printer driver first which is also available as a User Configuration. It depends a little bit on what the actually issue and case is, but it could help assigning to Use Remote Desktop Easy Printer driver first to most of the users and use the Computer Configuration Failback policy for those subgroup of users that cannot work with the Easy Print Driver.
Figure 4: The User Configuration options available for Easy Print
Universal Network Printing
As stated in the beginning of the article, Easy Print is only available for Client Printer Redirection, and not for network connected printers. Many organizations are also looking for a solution to keep printer drivers to a minimum for this type of printer. The first big step is that most manufacturers have a universal driver, which supports (almost) all their printer devices. If that still does not satisfy the needs, then a third party product comes into play as Microsoft does not have a solution (yet).
In this article I described the configuration options of Easy Print in detail and which settings should be used. We also discussed the improvements that Microsoft could look into to make the Easy Print solution even more robust and manageable with printer drivers.