Print Deploy VDI (Virtual Desktop Infrastructure) deployment considerations
While Virtual Desktop Infrastructures gain traction in all business sizes, PaperCut has recognized this trend by providing compatibility for print queue deployment and tracking via Print Deploy.
Managing print queues with VDI can be challenging, and over several years, PaperCut has worked with many companies utilizing various VDI platforms, particularly in print enablement. These companies range in verticals from Healthcare to Manufacturing to Finance. Therefore, weâve learned quite a bit about the nuances of how these environments can be implemented, ultimately giving us some general âbest practicesâ to share. We are certain there will be more learnings and will add them here as we discover them. Here are a few learnings weâd like to share in hopes it will help set you up for success.
Note: We will refer to 2 distinct versions of the Print Deploy Client:
- Print Deploy Client for VDI - Print Deploy Client with VDI Support
- Print Deploy âClassicâ Client - Print Deploy Client without VDI Support
VDI session descriptions (Multi-Session, Single Session, and Persistence)
VDI Session deployments typically are delivered via a âSession Typeâ. There are two main session types and along with that, two main characteristics of what happens when a user logs off and, eventually, logs on again. Session types can be described as either âMulti-Sessionâ or âSingle-Sessionâ You may hear other terms such as âSharedâ or âPersonalâ, but for our descriptions here, we will use âMultiâ or âSingleâ session types.
Another factor to consider is the idea of âPersistenceâ. Persistence can be a distinguishing characteristic with either type of session but can also affect driver deployment. Letâs examine the difference between Multi-Session and Single-Session and how âPersistenceâ affects print driver deployment:
Multi-Session vs. Single Session
The differences between these two types of sessions will dictate which Print Deploy Client will be necessary to support print queue deployment.
Multi-Session
This describes a VDI Session Type where a configured Desktop image can serve several users from the same instance at the same time. When each session is started with a logged-on user, variables are present, specific to each session. We use some of these session variables as âVDI Session Qualifiersâ for the Print Deploy for VDI Client that is loaded on the Host Image(s). When the user logs on, the Print Deploy Client for VDI detects these âQualifiersâ and if all the essential elements are present, will fetch and deploy print queues based on the Zone triggers set by the Print Deploy Administrator.
Single Session
This VDI session deployment is dedicated to a single user session at a time. It ultimately acts like a laptop or PC provisioned for a user. Although the Desktop can accommodate many user accounts assigned to it, only one user can log in to the Desktop at a time.
Persistent vs. Non-Persistent
Persistence relative to VDI describes the end userâs Desktop experience when a session is ended. This can affect Print Deployâs need to redeploy print drivers for each new session.
Persistent Desktop
Persistent Desktop describes the behavior of the VDI Session after a User has signed off. With a âPersistent Desktopâ experience, changes made to the Desktop Experience such as personalizations, saved files (vdisk), installed applications, and other items such as print drivers are kept intact when the user logs off.
Non-Persistent Desktop
Non-Persistent Desktop describes the behavior of the VDI Session where the Desktop is set back to a âbaselineâ configuration after the user logs off. In many cases, personalization is not allowed. Any applications installed, files saved, or print drivers loaded during that session would be lost when the user logs off.
VDI Multi-Session âQualifiersâ
Within Multi-Session VDI, Print Deploy Client for VDI looks for several main environmental âqualifiersâ and records these in the Print Deploy Client for VDI log. When these âqualifiersâ are present, the Print Deploy Client for VDI sees the session as legitimate and will deploy printers. If any of these qualifiers are missing or not what we expect, we will skip the session and therefore skip the fetch to install printers.
Note: Multi-Session VDI will have the qualifiers needed for the Print Deploy Client for VDI. Single-Session does not provide these qualifiers.
Qualifiers for VDI Based Sessions are as follows and can be found in the Print Deply Client for VDI logs:
- âClient Nameâ - This is a VDI environmental variable used to identify the physical client. This could be a Thin OS Terminal, a PC or MAC, Chromebook or, Tablet. This is automatically used as the âHostnameâ parameter for Print Deploy Zone Configuration.
- âDomain Nameâ - Domain from which the user is logged on
- âUser Nameâ - Subject logged into the current Session. This subject must be present in the PaperCut Application Server
- âSessionIDâ - should be a unique ID and normally counts up as new sessions are spawned from the HOST VDI Server(s). When a new session is started, the Print Deploy for VDI client will discover the new SessionID and log it.
- âClient IP Addressâ - this is the actual endpoint IP Address of the client host serving the VDI Session. This could be a Thin Terminal, a PC/MAC, a Chromebook, or a Tablet. We utilize this address for Print Deploy Zone that triggers off of the Subnet element.
- âisRemoteSessionâ - this element is important for Print Deploy to ascertain whether the session is run for a physical client and not directly on the VDI Server. For the session to be considered valid, we expect to see the value returned as âtrueâ.
VDI Environments
Although we support a few different VDI Solutions with Print Deploy, we should take some time to present the learnings weâve gathered over our course of testing and in the real world. Letâs examine some of the VDI Environments weâve tested and have customers actively using:
Microsoft Azure Virtual Desktop (aka AVD)
Azure Virtual Desktops are a great option for many customers who are already Microsoft Azure/Entra ID customers. The offering includes various options from sizing to availability, but we are mainly concerned with the âSession Typeâ. We can say there are 2 main session types we can work in with either the âClassicâ Print Deploy Client or, the Print Deploy Client for VDI. The Host Pool Type also defines session types:
- Multi-Session AVD (Pooled) - this type of Azure Virtual Desktop allows for multiple sessions to be served from the same instance simultaneously. This corresponds almost directly with how Microsoft Session-Based Remote Desktop Services serves desktop environments. Since we are running multiple sessions from a single instance, we will have the âQualifiersâ described above associated with each logged-on user. Here are the steps to accommodate AVD Multi-Sessions
- The administrator will load the Print Deploy Client for VDI on the AVD Pooled instance
- The administrator will load the Print Deploy User Console Tool aka UCT (optional) on the AVD Instance
- Users will log in as usual and each session contains all the unique âQualifiersâ. and deploy printers based on the Zones configured in the Print Deploy Admin.
- We would see this session identified as âremoteâ in the Print Deploy Client for VDI logs.
- Single-Session AVD (Personal) - this is a type of AVD instance that is completely dedicated to a single user or to multiple users who may only be logged in at a single time. This is the opposite of the âMulti-Sessionâ concept.
- The administrator will load manually or push via MDM, the âClassicâ Print Deploy Client on each âSingle Sessionâ image. This is the same concept for loading the client on a Thick O/Sâ such as Windows Laptops or Desktops as we do not have âQulaifiersâ present.
Microsoft Azure RDS/On-Premise RDS
Microsoft Remote Desktop Service has been around for a couple of decades. Azure provides a âSaaSâ instance of RDS for organizations who want more control over their virtual Desktop and Application sessions. Very similar in the âend userâ experience compared to AVD, Azure RDS mirrors the same deployment strategy as On-Premise RDS when deploying Print Deploy:
- RDS âSessionâ based VDI - This equates to Multi-Session VDI where multiple users are able run VDI Sessions from the same RDS Host simultaneously. Since we are running multiple sessions from a single instance, we will have the âQualifiersâ described above associated with each logged-on user.
- The administrator will load the Print Deploy for VDI Client on the RDS Session hosts
- The administrator will load the Print Deploy User Console Tool aka UCT (optional) on the RDS Host Instance or as a Published Application
- Users will log in as usual and each session contains all the unique âQualifiersâ. and deploy printers based on the Zones configured in the Print Deploy Admin.
- We would see this session identified as âremoteâ in the Print Deploy Client for VDI logs.
- RDS w/ Hyper-V Image - this is a type of RDS instance that is completely dedicated to a single user or to multiple users who may only be logged in at a single time. This is the opposite of the âMulti-Sessionâ concept as we do not have qualifiersâ present.
- The administrator will load manually or push via MDM, the**âClassicâ Print Deploy Client** on each âSingle Sessionâ image. This is the same concept for loading the client on a Thick O/Sâ such as Windows Laptops or Desktops.
Citrix
Citrix provides comprehensive methods to deliver Desktops and Apps to your End Users. There are many ways to configure Desktop and/or Application Sessions with Citrix, however, for our purposes, we will simplify it down to the following basic rules based on âMachine Typeâ configured by the Citrix Admin.
- Multi-Session OS - This type of VDI deployment serves many users simultaneously from the same Machine Catalog. Similar to â Pooledâ AVD Sessions, we will have the âQualifiersâ present associated with each logged-on session.
- The administrator will load the Print Deploy Client for VDI on the Machine Catalog Machines as needed
- The administrator will load the Print Deploy User Console Tool aka UCT (optional) on the Machine Catalog Machine or as an Application
- Users will log in as usual and each session contains all the unique âQualifiersâ. and deploy printers based on the Zones configured in the Print Deploy Admin.
- We would see this session identified as âremoteâ in the Print Deploy Client for VDI logs.
- Single-Session OS - Opposite to the Multi-Session OS deployment above, this type of Machine is a single-session instance where only one user can be logged in at a time. The VDI âQualifiersâ will not be present in these sessions.
- We would want to use the âClassicâ Print Deploy Client here either pushed via MDM or installed locally by an admin. This assumes that VDI environmental variables such as Session ID would not be present, similar to the RDS w/ Hyper-V Image provisioning
VMWare Horizons
- Multi-Session Hosts - Uses RDS Server(s) to serve Multiple Sessions to serve multiple users simultaneously. Similar to â Pooledâ AVD Sessions, we will have the âQualifiersâ present associated with each logged-on session.
- The administrator will load the Print Deploy Client for VDI on the VMWare Pooled Hosts (RDS) as needed
- The administrator will load the Print Deploy User Console Tool aka UCT (optional) on the Pooled Hosts (RDS) or as a VMWare Horizon App
- Users will log in as usual and each session contains all the unique âQualifiersâ. and deploy printers based on the Zones configured in the Print Deploy Admin.
- We would see this session identified as âremoteâ in the Print Deploy Client for VDI logs.
- Single Session Hosts - VMWare is similar to RDS and Citrix Desktop Provisioning uses ESXI Images for Persistent Desktops. This would require the âclassicâ Print Deploy Client
- We would want to use the âClassicâ Print Deploy Client here either pushed via MDM or installed locally by an admin. This assumes that VDI environmental variables such as Session ID would not be present, similar to the RDS w/ Hyper-V Image provisioning
Summary
To summarize the above descriptions here is a table that shows which Print Deploy Client will work for each supported VDI environment:
VDI Solution | Print Deploy Client for VDI | Print Deploy Client âClassicâ |
Azure Virtual Desktop (âPooledâ Multi-Session) | â Supported | â Not Supported |
Azure Virtual Desktop (âPersonalâ-Single Session) | â Not Supported | â Supported |
Microsoft RDS (Session Based) | â Supported | â Not Supported |
Microsoft RDS (Image Based) | â Not Supported | â Supported |
Citrix XenDesktop/XenApp (Multi-Session OS) | â Supported | â Not Supported |
Citrix XenDesktop/XenApp (Single Session OS) | â Not Supported | â Supported |
VMWare Horizons (Multi-Session Desktop - RDS) | â Supported | â Not Supported |
VMWare Horizons (Single Session HyperVisor Based) | â Not Supported | â Supported |
Troubleshooting Session issues
One of the best tools to figure out why you may not see the results with Print Deploy you were expecting can be found in the Print Deploy Client for VDI log file.
- Windows file path:
C:\Program Files\PaperCut Print Deploy Client for VDI\data\logs
- We can quickly determine if the session environment is returning all the âqualifiersâ required.
- If one is missing, the session may be determined to be invalid, or the Print Deploy VDI Clientmay not fetch queues at all if, for example, the Client IP is incorrect or missing.
- Given the complex nature of VDI environments, it is best practice to grab the logs and open a ticket with your ASC/Reseller.
Comments