Printer issues, always fun, if you know where to look for!

 

I would like to describe how to troubleshoot printer issues, in this blog post I want to focus on the printer driver area and what is the role of Ivanti Workspace Control / RES ONE Workspace in managing the printers.

 

What is the role of Ivanti Workspace Control / RES ONE Workspace regarding printer drivers?

 

Only one simple answer: there is NO role for Ivanti Workspace Control / RES ONE Workspace here at all.

 

What is the role of Ivanti Workspace Control / RES ONE Workspace regarding the connection of printer objects?

 

Ivanti Workspace Control / RES ONE Workspace delivers a list of printers to a Microsoft Windows API, which will be mapped at logon. If there is no driver available and the user has sufficient permissions, the driver will be installed during the printer connection (default Microsoft Windows behaviour). Ivanti Workspace Control / RES ONE Workspace does NOT manage the driver.

 

Is there a role for Ivanti Workspace Control / RES ONE Workspace regarding printers at all?

 

Of course there is, Ivanti Workspace Control / RES ONE Workspace is actually ‘only’ a database with a set of conditions and rules (Access Control, Location&Devices (Zones), Workspace Control) to define in which situation which printer should be mapped for the user. There are some additional settings like ‘Fast connect’, ‘Wait for task to finish before continuing’ and ‘Failover’ available, but it still does NOT affect the printer driver in any way.

 

This article will not get further into the role of Ivanti Workspace Control / RES ONE Workspace concerning printers and it will not explain features. It shows the importance and impact of printer drivers. It will give some best practices concerning printer drivers and some guidelines for troubleshooting.

 

Examples of frequently reported printer issues:

 

  • It takes approximately 20 to 30 seconds to connect a printer object at logon (visible in Ivanti Workspace Control / RES ONE Workspace Splash screen).
  • Despite a network printer object is defined in Ivanti Workspace Control / RES ONE Workspace, the printer isn’t available in the user session.
  • Network printers connected with Ivanti Workspace Control / RES ONE Workspace are causing print spooler crashes.

 

Most of these issues are Microsoft Windows Terminal Server/Microsoft Remote Desktop Server related. As you probably all know, you can’t just recklessly install every printer driver on a Terminal Server/Remote Desktop Server. You will run into problems like slow performance, crashing printer spoolers and in worse case BSOD’s. There are some considerations to take here.

 

Some best practices regarding printer drivers:

 

  • An overview of printer drivers which can be used on Terminal Servers, in order of preference from most preferred to not preferred can be found here: Windows Terminal Services Printing
  • Besides choosing the right drivers, there are also some basic rules to keep in mind: Keep the amount of drivers low and All the printer drivers need to be available on all Terminal Servers. https://techgenix.com/managing-printer-drivers/
  • Selecting the right printer drivers can save you from a lot of troubles (like mentioned above). In general it is recommended to use drivers with a “Designed for Windows” logo. A useful Microsoft article can be found here(retired article, but still available for download: Introduction (Choosing the Right Printer Drivers) | Microsoft Docs

 

When printer drivers are suspected to cause performance and stability issues, an intensive troubleshoot path starts. Below some best practices to discover the root cause and troubleshoot these issues:

 

  • Once getting into trouble the searching starts for bad printer drivers: https://techgenix.com/hunt-bad-printer-driver/
  • Make sure no additional print monitors are installed. Check this at the following location in the registry: [HKLM\System\CurrentControlSet\Control\Print\Monitors].
  • Make sure there are no Kernel Mode drivers (NT4 drivers at Server Properties applet) installed. Kernel Mode drivers are copied to %systemroot%\system32\spool\2, if this folder exists and contains printer driver files, they should be removed and replaced for User Mode drivers, check: https://techgenix.com/surviving-printing-citrix/
  • To get a clear view at printer(driver) issues from a Ivanti Workspace Control / RES ONE Workspace perspective, disable “Fast Connect” and enable “Wait for task to finish before continuing”:

 

blog1.PNG

Now you are able to check the Workspace Analysis – User Eventlog (via the Ivanti Workspace Control / RES ONE Workspace Console), to determine how long it takes to connect printer object(s) at logon. If there are errors generated by the OS during the connecting of the printer, they are also reported here:

 

blog2.PNG

 

When such a delay at logon of a Ivanti Workspace Control / RES ONE Workspace session occurs while connecting the printer object(s), it’s almost certain a driver issue. To exclude Ivanti Workspace Control / RES ONE Workspace here, create a logon script outside of Ivanti Workspace Control / RES ONE Workspace, which will connect the same printer object(s). If the delay also occurs, start troubleshooting the printer drivers.

 

Despite the fact Ivanti Workspace Control / RES ONE Workspace does not fulfill a role regarding printer drivers, drivers can cause a lot of troubles concerning performance and stability especially in Terminal Server/Remote Desktop environments.

Eventually the user will suffer the pain of ‘bad’ printer drivers, such as slow performance at logon, no available printer objects in the session or a failure when trying to print. Regarding user sessions, of course Ivanti Workspace Control / RES ONE Workspace fulfills a major role. To prevent (by selecting the right drivers) or troubleshoot such issues, this blog provides you with some useful articles and guidelines.

 

Sources: https://www.microsoft.com https://www.citrix.com https://techgenix.com

 

Special thanks to Martin Lako & Roland van Dorp who created the first initial version of this blog post!