Link to home
Start Free TrialLog in
Avatar of arms145
arms145Flag for United States of America

asked on

Windows 2012R2 RDS - network printer stops working for specific user on specific RDSH

We have a Windows 2012 R2 RDS farm with 3 RDSH servers, and network printers on a dedicated print server.  Printers are deployed to users (User Configuration) via GPP Printers (apply once).  Every once in a while, some random user will start having a problem printing to the main network printer (PRINT1) that everyone uses the most.  When the issue happens, the user cannot print to PRINT1 at all.  Most apps will act as if the job was sent, but nothing prints and no job is created.  Notepad gives the following error:  A StartDocPrinter call was not issued.

A key fact is that when the issue happens, it is only for that user and only the specific RDSH they were on.    Other users can print to PRINT1 on the same RDSH server with the affected user, and the affected user can print to PRINT1 on the other RDSH servers.  The issue remains for the affected user even if user logs off and on the affected RDSH.  When the issue starts for a user, it starts in the middle of the session, not when they first logon.  In other words, they would be printing fine to PRINT1 throughout the day, and the problem pops up in the middle of the workday without them having logged off and on.  The affected user can print to other network printers on the same print server.  The only way to fix is to delete and re-add the printer for the user.

We have roaming user profiles and redirected folders.  Local profiles are removed from RDSH servers upon logoff.  The problem doesn't seem to be just with the user because otherwise it would follow them to other RDSH servers, and the problem is not just with a RDSH server because other users do not have a problem on that server.  We've tried removing and recreating the printer on the print server.
What printer setting/configuration is getting corrupted that is a combination of a user config and computer config?  This is quite confusing.  Any ideas what might be going on?
Avatar of Philip Elder
Philip Elder
Flag of Canada image

Install Print Management on the RDSH servers.

Make sure _all_ print drivers are set to ISOLATED that can be and restart the Print Spooler.

Why roaming and redirected? 2012 R2 uses UPDs (User Profile Disks) that can be network located. Roaming Profiles are no longer needed. Redirected Folders can be used if need be to keep their data somewhere else but otherwise we always use UPDs.
Avatar of arms145

ASKER

We tried setting the driver for the problematic printer to isolated and reboot, didn't work.  I'm not sure it's driver related, since it affects only 1 or 2 users when it happens and all other users are fine on same RDSH.   All printers have signed drivers from major makes (HP, Xerox, Kyocera), so should be stable.

We ended up upgrading some drivers, stripped out user configuration printers and went with computer configuration printers, and reboot all RDS servers.  Now we have even more bizarre issues:

One user is getting an error when trying to set certain printers as default (Operation could not be completed, error 0x00000709), but works for other printers.  The user can print to the printers that cannot be set as default.  Other users don't have this issue on same RDSH.

When a user tries to delete some shared printers, they get the expected message "Are you sure you want to remove your connection to the printer...".  For other shared printers, they get a UAC prompt asking for admin credentials.  Trying to delete the same printer has different behavior for one user vs another.

What a mess.  How can this be so unstable for a cleanly built 2012R2 RDS environment...we are banging our heads against the wall, nothing seems to work.  All of this works with no issues in our old Win 2003 SBS environment (no RDS) with all the same printers.
Printing has always been a bear to manage in any RDSH setup. That's why there are third party products out there to manage the lot.

Here are some guidelines that work for us:
 + Use Universal Print Drivers for each manufacturer instead of product specific
 + Set ALL drivers to ISOLATED in Print Management
 + Set up internal printers _in_ RDSH Print Management (via IP)
 + Avoid Host-based printers (no PCL engine built-in)

We've had issues with all manufacturer's products. I cannot think of one that is not guilty of issues in a RDSH configuration to date.
Avatar of arms145

ASKER

Thanks, will try that except setting up IP printers in RDSH.  We have a dedicated print server...managing the printers separately on each RDSH would be cumbersome and not a good option for us.  It's baffling how a fundamental feature like printing can be broken this badly on RDS, doesn't anyone actually use this product without 3rd party software?
Regarding Host-based printers, what is that and how can we tell if one is installed?  All of the drivers on the print server are type 3 or type 4.
We find that users connecting from home with some sort of consumer grade printer will have issues as a result of them being host-based. That means the print rendering gets done on the originating machine within the driver set and sent to the printer as a print ready stream.

As far as RDSH and printing we try and limit our setups to one or two printer manufacturer's products at best. With that we use their universal print driver installed in Print Management to limit the number of print drivers installed.

The more print drivers installed the more likely things are to not work.

We have one out of many that has required third party because of the way the print driver and print security components work. The native drivers do not allow those settings through to the RDSH.
Avatar of arms145

ASKER

We did a printing root canal:
1.  Cleared out all printer connections from every user's profile.
2.  Removed all computer printer connections from each RDSH.
3.  Removed all printer drivers from each RDSH and cleaned up printer-related registry items.
4.  Removed all unused printer drivers from print server, and made sure only the latest Win2012 R2 included drivers (with Windows Update) were used for only 2 manufacturers (Kyocera and HP).
5.  Set all drivers on print server to isolated.
6.  Applied GPO to force isolated drivers.
7.  Applied GPO to disable client-side rendering.
8.  Applied GPO to create user printer connections for only 2 out of our 12 printers.
9.  Logged on as testuser to each RDSH, verified printer connections, and set all the downloaded drivers from the print server to isolated (likely redundant due to GPO in #6 above, but just in case).

After all of the above and probably other cleanup I can't recall, we lasted for 2 days, then the same issues re-occurred for one user, and later another user, and the next day more users.

What a nightmare, we had been rolling along nicely with this shiny new environment and printing has derailed everything.  My best guess is that something in RDS is not properly isolating user print sessions and they are corrupting each other.

Is anyone using straight Win 2012 R2 RDS with a Win2012 R2 print server, and all printing works?  I've read about the strategy of having a GPO to delete all printers from user profile on every logout and recreate them on every login, but that is not an option for us because there are per-user printer preferences that need to be preserved.
TSPrint is one option for problematic setups. We use this product for RDSH environments where copiers require security and account controls for one example.
Avatar of arms145

ASKER

TSPrint looks like a solution for issues with printing to local RDP client printers, which isn't our issue.  In any case, unless Microsoft will reimburse us for a 3rd-party solution after we paid for their broken product, we've already busted our budget trying to resolve this mess.  Furthermore, this shouldn't be a problematic setup, it is about as plain vanilla as you can get, all setup cleanly from the ground up with a new domain.
ASKER CERTIFIED SOLUTION
Avatar of arms145
arms145
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Some guidance may be found here too:
https://support.microsoft.com/en-us/kb/2620656
Avatar of arms145

ASKER

Good info, I wonder if they bothered to fix in 2012R2.  More evidence that RDS is not enterprise ready, I guess that's why Citrix is popular.  In any case, doesn't apply to our issue -  "You enable client printer redirection on the RD Session Host server." - We disabled client printer redirection from the outset.
There is another one that I can't seem to find at the moment. The KB has a script in it to run to clear out all redirected printers that remote clients had. I'll keep digging.
Avatar of arms145

ASKER

The only approach that helped.