lørdag 20. april 2013

Troubleshooting print problems on XenApp


Tools for troubleshooting

Print Detective
This tool can help you find out which drivers on your servers that are non-native drivers. You can also use this tool to delete drivers

Go to View, and chose Non-Native/Non-Citrix Drivers Only to see the Non-Native drivers

 









Citrix Stress Printers

This tool can be used to simulate multiple sessions autocreating printers using the same printer driver.
It can also be used to compare the following among various drivers:
• CPU load incurred while creating a printer using a particular driver
• Time required to successfully create a printer using a particular driver

Note: The current version of the tool does not test concurrent printer capabilities, settings, or actual printing calls, which are also possible causes of printing crashes. Therefore, good/passing stress results do not always mean that printers are actually working or certified.


Print Driver isolation (Windows 2008 R2)
Print Driver Isolation is a feature that allows some of the print driver components to be executed in a process separate from the print spooler. If you use Print Driver isolation, Print drivers will not cause the Print Spooler to crash, because they are isolated in their own process.

There are three basic modes of isolation that can be configured for individual print drivers:
None – in this mode, print driver components are loaded into the spooler process.  This is essentially the model found in previous versions of Windows
Shared – multiple drivers that are set for isolation are loaded into a single shared process space that is separate from the spooler process.  Although this protects the spooler process, the drivers that are in shared mode can affect one another
Isolated – each driver is loaded into its own process space.  This protects the spooler from individual driver failures, and also protects drivers from each other

Modes are configured on a per-driver and not a per-system basis. Anytime a shared or an isolated mode is used for a print driver, a new process – PrintIsolationHost.exe – is launched by the DCOM Server Process Launcher for each “print sandbox”. 

Configure Print Driver isolation
These modes can be configured from the Print Management Console on the print server. You just remote connect the console to your XenApp server, and set your desired setting.
To be able to remote connect the console to your XenApp servers, you have to enable the following Group Policy setting on your XenApp servers:
Computer Configuration>Policies>Administrative Templates>Printers
Allow Print Spooler to accept client connections – Enable

Global Group Policy Settings – Print Driver isolation
There are two group policy settings that you can use to control the isolation mode of drivers on machines to which the policy applies. 

Computer Configuration>Administrative Templates>PrintersExecute Print Drivers in Isolated Processes
This policy setting determines whether the print spooler will execute print drivers in an isolated or separate process. When print drivers are loaded in an isolated process (or isolated processes), a print driver failure will not cause the print spooler service to fail.
If you enable or do not configure this policy setting, the print spooler will execute print drivers in an isolated process by default.

Computer Configuration>Administrative Templates>Printers
Override Print Driver Execution Compatibility Setting Reported by Print Driver
This policy setting determines whether the print spooler will override the Driver Isolation compatibility reported by the print driver. This enables executing print drivers in an isolated process, even if the driver does not report compatibility.
If you enable this policy setting, the print spooler will ignore the Driver Isolation compatibility flag value reported by the print driver.
If you disable or do not configure this policy setting, the print spooler will use the Driver Isolation compatibility flag value reported by the print driver.

If you Enable both these policy settings, all your Print Drivers will run in “Shared” mode. You will have to use Print Management console to control individual modes per driver.
The values for these policies are stored in the registry at HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Printers\
PrintDriverIsolationExecutionPolicy
PrintDriverIsolationOverrideCompat
Value: 0 = disabled, and 1 = enabled

General Print GPO for XenApp

Computer Configuration>Administrative Templates>Printers
Always render print jobs on the print server
When printing through a print server, determines whether the print spooler on the client will process print jobs itself, or pass them on to the server to do the work. 
This policy setting only effects printing to a Windows print server. 
If you enable this policy setting on a client machine, the client spooler will not process print jobs before sending them to the print server. This decreases the workload on the client at the expense of increasing the load on the server. 
If you disable this policy setting on a client machine, the client itself will process print jobs into printer device commands. These commands will then be sent to the print server, and the server will simply pass the commands to the printer. This increases the workload of the client while decreasing the load on the server. 
If you do not enable this policy setting, the behavior is the same as disabling it.


Links:
Print Detective: http://support.citrix.com/article/CTX116474

Stress Printers:
http://support.citrix.com/article/CTX109374

Ten printing rules by Thomas Koetzing: 
http://www.thomaskoetzing.de/index.php?option=com_content&task=view&id=340&Itemid=307





Ingen kommentarer:

Legg inn en kommentar