Carl Stalhood

Monday 23 December 2013

Auto-Creating Client Printers
At the start of a user session, XenApp/XenDesktop auto-creates all printers available on the client device by default. Hereby locally attached printers (i.e. USB) as well as network-based printers (i.e. via print server) can be connected. This process is also referred to as local printer mapping. The Citrix policy setting “Auto-create client printers” enables administrators to control what types of printers are provisioned to users or prevent auto-creation entirely. Please note that users can connect client printers manually (if not explicitly prohibited by policy) from within the session as needed.

Decision: Which client printers should be auto-created in a user session?
Recommendation: In environments with a large number of printers per user, Citrix recommends to auto-create only one default printer. Auto-creating a smaller number of printers creates less overhead on the server / virtual desktop resources (memory / CPU) and can reduce user logon times. However, in environments where users with limited computer skills need to print to a wide variety of local printing devices, auto-creating all client printers will improve user experience and can reduce support calls.

Auto-Creating Session Printers
In addition or as an alternative to enumerating and mapping all network-based printers connected on a client device, XenApp and XenDesktop enables administrators to specify which network printers should be created within each session. This process can be controlled by means of the “Session Printers” policy. Network printers created with the Session Printers setting can vary according to where the session was initiated by filtering on objects such as subnets. This feature enables administrators to control the assignment of network printers so that the most appropriate printer is presented to the user, based on the location of the client device (also known as Proximity Printing).
The Proximity Printing solution is enabled through the Citrix policy settings “Session Printers” and “Default Printer” in conjunction with a policy filter based on a geographic indicator (i.e. IP address, client name, etc.).

Decision: When should Session Printers be used instead of auto-creating all client network printers?
Recommendation: Session Printers are an optimal configuration for scenarios where:
 Users roam between locations using the same client device (i.e. laptop)
 Thin Clients are used, which do not have the ability to connect to network based-printers directly

Print job routing
In a XenApp/XenDesktop environment print jobs can take two paths to a printing device: through the client or through a network print server. Which path is chosen by default depends on the kind of printer used:

Locally attached printers. XenApp/XenDesktop routes jobs to locally attached printers from the server, through the client, and then to the print device. The ICA protocol compresses the print job traffic. When a printing device is attached locally to the client device, print jobs must be routed through the client.
Network-based printers. By default, all print jobs destined for network printers route from the server, across the network, and directly to the print server. However, if the XenApp server or the virtual desktop and the print server are on different domains (without trusts), the native printer driver is not available on the virtual desktop or XenApp server or direct network communication is not possible, print jobs are automatically routed through the client.
This fallback behavior, which can also be modified by means of the “Direct connections to print servers” policy, can cause significant network overhead if not configured correctly. In a scenario with a data center based print server where print traffic for a network-based printer needs to be routed through the client, a print job may traverse the WAN three times
Routing jobs through a network print server is ideal for fast local networks, but is not optimal for WANs. The spooling of print jobs using the network printing pathway method uses more bandwidth than using the client pathway; many packets are exchanged between the host server / virtual desktop and the print server. Consequently, users might experience latency while the print jobs are spooling over the WAN. Also, the print job traffic from the server / virtual desktop to the print server is not compressed and is treated as regular network traffic. When printing jobs cross a network with limited bandwidth, Citrix recommends routing jobs through the client device so that the ICA protocol compresses the jobs and enables the administrator to limit the maximum consumable bandwidth. If this is not possible, for example when a Thin Client without printing capabilities is used, Quality of Service should be configured in order to prioritize ICA/HDX traffic and ensure a good in-session user experience.
The following diagram visualizes the design decision tree related to print job routing:

Auto-Creating Network Printers

Auto-Creating Network Printers

By default, any network printing devices on the client device are created automatically at the beginning of sessions; however, if possible, XenApp always tries to route jobs directly from XenApp to the print server and not through the client connection.

To specify that specific printers are created in sessions rather than auto-create all the network printing devices available from the client device, configure the Session Printer policy rule.

The key difference between provisioning network printers with the Printing > Client Printers > Auto-creation rule and the Printing > Session printers rule is that the Auto-creation rule automatically creates all printers on the client device whereas the Session printers rule lets you specify which printers are created. Network printers created with the Session printers rule can vary according to conditions where the session was initiated, such as location (by filtering on objects such as subnets).

Before you can configure the Session printers rule, you must import the printer objects stored on your print server into your XenApp farm. After importing printers into XenApp, you can assign them to user sessions through the Session Printer policy rule. See Configuring Network Printers for Users

Note: For printers in domains that do not have a trust relationship with the XenApp farm, configure them as redirected client printers using the Auto-creation rule. When network printing devices are provisioned in this way, the print jobs are routed through the client using the client printing pathway.

Understanding XenApp Printing
Managing printers in a XenApp environment is a multistage process. The cycle for managing printers on a farm requires that you:
  1. Design your printing configuration. This includes analyzing your business needs, your existing printing infrastructure, how your users and applications interact with printing today, and what a realistic printing management model would look like for your organization (that is, assessing that the administrative overhead of printing pathway you choose is realistic in your environment).
  2. Configure your printing environment, including creating the policies necessary to deploy your printing design.
  3. Test a pilot printing deployment before rolling it out to users.
  4. Maintain your Citrix printing environment, including updating policies when new employees or servers are added and maintaining drivers on your farm servers.
  5. Troubleshoot issues that may arise in your printing environment.
Before you begin planning your deployment, make sure that you understand these major concepts for printing in XenApp:
  • The concept of printer provisioning in a session and the two major types of provisioning (auto-created and self-provisioned). To understand these concepts, you need to understand, among other things, the difference between a printer, a printing device, and a printer driver.
  • How print jobs can be routed in XenApp.
  • The policies that you can create to manage drivers.
XenApp printing concepts build on Windows printing concepts. To configure and successfully manage printing in a Citrix environment, you must understand how Windows network and client printing works and how this translates into printing behavior in a Citrix environment.