I would like to describe how to troubleshoot printer issues, using Ivanti Workspace Control / RES ONE Workspace settings and logging, give in depth information where to look for within user configuration files and user registry and much more to get you on track solving printer related issues.
How to begin troubleshooting?
It is important to check the configuration within the Ivanti Workspace Control / RES ONE Workspace Console. Only with the correct settings you will be able to use the Ivanti Workspace Control / RES ONE Workspace event logging in a proper way.
Set the following in order to get a correct event logging (use the [+] to create an exception for a specific test server):
- Disconnect all network printers before logging off
- Disable “Fast Connect” (printer property)
- Enable “Wait for task to finish …” (printer property)
2. Check Diagnostics
Log on with a user and check at Diagnostics – Workspace Analysis the User Event Log for connection faults:
Check the error against the Ivanti Knowledge Base or search the Internet; these are regular Microsoft Windows generated events. When printer connection is error free with settings from step 1 configured it seems that printer name and driver are ok.
3. Default Printer
When a user is having troubles with setting a default printer check the following:
- Is the “%HomeDrive%\Personal Settings\pwruser.ini” filled correctly?
- Is ‘Force mandatory default printer” enabled? Then the user is able to change the default printer within the current session but will be overwritten at next logon.
- Default printer is stored within the user registry at [HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows\Device].
By default this key should be available within the user’s profile. When this key is not present within the user’s profile the user will not be able to set a default printer. It is possible to create this key with a Registry task.
Some printer related settings are stored in %HomeDrive%\Personal Settings\Pwruser.ini.
When a user changes the default printer, this will be written within this file. At logon this file will be read to set the default printer (in case of no mandatory default printer).
Settings related to printers within pwruser.ini explained:
5. Save printing preference
“Save printing preference” can be enabled via User Settings.
This feature will give the opportunity to save user changed default printer settings combined with disconnecting printers at logon/logoff.
Printer Preferences will be stored at “%Homedrive%\Personal Settings\UserPref\PrintingPreferences.dat”.
Printer Preferences will only backup the values of [HKEY_CURRENT_USER\printers\DevModes2].
Printer drivers and user specific settings under DevModes2 are a unique combination. This explains why a printer driver replacement could cause serious problems, the printer object remains the same, the driver has been replaced but the user specific driver data is restored.
In this case you should remove the specific DevModes2 printer settings for example with a ‘User Registry’ task or remove the entire ‘PrinterPreferences.dat’ file when the user is offline.
Best practice is to create a complete new printer object when a printer driver needs to be replaced in a Terminal Server/Remote Desktop environment.
6. Fast Connect
When using Fast Connect only the connection properties are kicked in the user’s registry:
When the user prints from an application then at first the connection will be created by Windows, resulting in:
When the connection is not correct, or a driver fails the application will report this but the error is not always clear. Then always try to disable Fast Connect and check the User Eventlog from step 2.
Microsoft Windows will handle the creation of ‘PrinterPorts’ and ‘Devices’ under [HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion] whether using Fast Connect or not.
Special thanks to Roland van Dorp who created the first initial version of this blog post!