by Gusac |
Filed in: Articles, Tutorials
What is Fallback Printer Driver
Fallback printer driver behaviour was introduced with Windows 2003 SP1 and is stil present in Windows 2008 server. As the name suggest, this behaviour lets the terminal services fallback to inbox printer drivers for client printer redirection.
In other words, for a client side printer to be redirected in a RDP session, we need to have the matching driver installed on the Terminal server. If the server side driver name does not match the name of the driver used by client side printer, it would not redirect the printer and redirection fails. This would also generate an system event log with Event id: 1111 and Source TermServDevices (Windows 2003) or Microsoft-Windows-TerminalServices-Printers (Windows 2008)
Or, in an environment where you have many clients with different printers all creating remote sessions and redirecting their printers, it would be very hard to keep the terminal server updated with all the drivers that your users need to redirect their printers. And what if somebody updates his/her printer driver on client machine or brings a new printer? You would have to install the printer driver on the Terminal server as well.
Enabling Fallback printing ensures that the printer redirection will not fail for any user even if you do not have the matching printer drivers installed on the terminal server. The Fallback printer driver behavior can be configured using Group policy. It lets you select the fallback printer driver type you wants to use. The choices are Printer Control Language (PCL) or/and PostScript (PS).
For Windows 2003 server, the Group policy path is: Computer Configuration\Administrative Templates\Windows Components\Terminal Services\Client / Server data redirection\ [Terminal Server Fallback Printer Driver Behavior]
For Windows 2008 server, the Group policy path is: Computer Configuration\Policies\Administrative Templates\Windows Components\Terminal Services\Terminal Server\Printer Redirection\ [Specify terminal server fallback printer driver behavior]
By default, the terminal server fallback printer driver is disabled which implies that If the terminal server does not have a printer driver that matches the client's printer, the client printer redirection will fail.
If you enable the policy, the fallback printer driver is enabled and it lets you choose its behavior. The options are:
- Do nothing if one is not found : If there is a printer driver mismatch, the server will attempt to find a suitable driver. If one is not found, the client's printer is not available. This is the default behavior.
- Default to PCL if one is not found : If no suitable printer driver can be found, default to the Printer Control Language (PCL) fallback printer driver.
- Default to PS if one is not found : If no suitable printer driver can be found, default to the PostScript (PS) fallback printer driver.
- Show both PCL and PS if one is not found : If no suitable driver can be found, show both PS and PCL-based fallback printer drivers.
Configuring this policy and its behavior ensures that printer redirection works for all the client printers even and makes the spooler subsytem less vunerable to hangs and crashes due to some faulty printer driver files.
Additionally, we can also configure the fallback printer driver behavior via registry. You might not use it because this registry is automatically created when you confiure the Group policy but still its worth mentioning.
The Fallback printing has two main registry DWORD values created at the following location: HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services
- To enabled/disable the policy, create the DWORD value: fPolicyFallbackPrintDriver and set the value data to 1 or 2. Here, 1=Enable and 2=Disable.
- To set the policy behavior, create another DWORD value: FallbackPrintDriverType. The possible values are:
0 No fallback drivers. Equivalent to Group policy option: Do nothing if one is not found
1 Best guess.
2 Best guess. If no match is found, fallback to Printer Control Language (PCL) drivers. Equivalent to Group policy option: Default to PCL if one is not found
3 Best guess. If no match is found, fallback to Postscript (PS) drivers. Equivalent to Group policy option: Default to PS if one is not found
4 Best guess. If no match is found, show both PS and PCL drivers. Equivalent to Group policy option: Show both PCL and PS if one is not found