Network printer driver re-installed at each logon with RDS
-
Sunday, February 26, 2012 12:47 PM
Using Server 2008 R2 SP1 with RDS enabled for shared Desktops. Network printer are mapped during logon on a per user basis via script. At logoff all network printers are disconnected in case users get a new set of network printers. Every time a users logon ALL network printers are re-installed and takes quite some time for a buch of printers. The same happens using group policy or with Rundll32 printui.dll,PrintUIEntry and the option /u (do not install if available).
That has two negative effects, one it slows down logon time and uses quite some CPU. Around 70% per 3rd party printer driver for up to 9-20 seconds. On an RDS Server that can have some unnecessary impact on other working users.
So is there any way to change the behaviour to not install printer drivers over and over again per user on a enabled Remote Desktop Server at logon?
Thomas
http://www.ThomasKoetzing.de, Twitter http://twitter.com/Koetzing
- Edited by Thomas Koetzing Sunday, February 26, 2012 3:17 PM
All Replies
-
Tuesday, February 28, 2012 8:51 AMModerator
Hi Thomas,
In Windows Server 2008 R2 Remote Desktop Services, it is recommended to use Easy Print Redirection feature instead of logon script. This feature enables users to reliably print from a Terminal Services RemoteApp program or from a terminal server desktop session to the correct printer on their client computer. It also enables users to have a much more consistent printing experience between local and remote sessions.
For more information, please refer to:
Using Remote Desktop Easy Print in Windows 7 and Windows Server 2008 R2
Hope this helps.
Regards,
Bruce
Forum Support
Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com.
-
Wednesday, February 29, 2012 3:35 PM
>Windows Server 2008 R2 Remote Desktop Services, it is recommended to use Easy Print Redirection feature instead of logon script
Oh, tell me how do I map Network Printer using RD EasyPrint on the RD Session Host Server? The Network Printer are NOT connected to the RDC Client!So to make my self very clear to you, there is NO printer mapped, attached or what so ever to the local client. Now when the Client with NO printers connect to the RD Session Host, how do I map Network Printer with RD EasyPrint? Ever heard of non Windows Thin Clients?
Thomas
--
http://www.ThomasKoetzing.de Twitter http://twitter.com/Koetzing
- Edited by Thomas Koetzing Wednesday, February 29, 2012 3:38 PM
-
Friday, March 02, 2012 6:07 PM
why don't you map printers to the client first? Then, you can use the easyprint. Or all the clients are non Windows OS thin clients so cannot map printer to them?
-
Saturday, March 03, 2012 6:06 AM
I have the feeling I get nowhere with these Microsoft forums.
1. If I wanted an RDS answer, I would have asked the question in the RDS forum2. I have been RDS MVP for four years, I know everything about RD EasyPrint etc.
3. I just want an answer from the Microsoft printing team or someone why the re-install at logon and how to disable.
Is there anyone who can give me an answer to number 3? I have customers who have real problems with that
and others who don't know they have the logon is just SLOW for everyone.
Thomas
--
http://www.ThomasKoetzing.de Twitter http://twitter.com/Koetzing- Edited by Thomas Koetzing Saturday, March 03, 2012 6:08 AM
-
Sunday, March 04, 2012 10:51 PMAnswerer
I'll assume you are not deleting the print drivers with the logoff scripts. I assume the print server is a 64bit machine.
When the client spooler connects to the server spooler and the driver files for the client exist on the server, the driver files will be copied to the USERS\temp directory. At this point the client spooler compares the file set to determine if the same version is already installed. If the file set is a newer version, the driver on the client will be updated and the connection is created with the newer driver version. When the file set is the same, the files are deleted and the connection is created using the driver installed on the client.
If the print drivers are actually getting reinstalled (rather than just copied) , verify that none of the existing file set is getting updated (check newer date) on the print server.
Utilize drivers that do not contain huge file sets.
Use print drivers that do not contact the print device during installation.
Alan Morris Windows Printing Team
-
Monday, March 05, 2012 9:35 AM
Thanks for the answer Alan!
>I'll assume you are not deleting the print drivers with the logoff scripts. I assume the print server is a 64bit machine.
Client and print server are both Windows Server 2008 R2. User logging on to the RDS Server have limited rights and therfore
printer driver are installed for them with Admin rights. At logoff print connections are removed using con2prt, again user don't
have rights to actually delete the printer set/package. By group policy printer isolation is active and print jobs are rendered on the server.>If the file set is a newer version, the driver on the client will be updated
No updates to the printer driver we are under full control of the print server because its there just for RDS.>the driver files will be copied to the USERS\temp directory
Nothing happens with USERS\temp directoryHm, maybe the UI is misleading. Using "rundll32.exe printui.dll PrintUIEntry /u /q /in /n \\PRNSERVER\Printer" shows download driver, install driver
Using procmon at the same time shows the spooler is going through C:\Windows\System32\DriverStore before it goes to C:\Windows\System32\spool\drivers\64{GUID}. The GUID actually does not exist and is also not created. That takes around 8 seconds for the first printer but the time grows with additional printers, so the second 12, then 18 etc. A user with 7 printer takes more than a 60s.
If printers are not disconnected at logoff, reconnecting all 7 printers takes less than 2s and is what I'm expecting more or less each time.Thanks,
Thomas
Thomas -- http://www.ThomasKoetzing.de Twitter http://twitter.com/Koetzing
- Edited by Thomas Koetzing Monday, March 05, 2012 10:09 AM
-
Wednesday, August 15, 2012 10:53 AM
Intermittent High CPU and Increased Disk I/O with SPOOLSV.EXE When Mapping TS User Session Printers on Windows Server 2008 R2
http://support.microsoft.com/kb/2666508...and don't use Microsoft GPO's to map printers within RDS
That was much better in previous Windows Server releases...
Thomas -- http://www.ThomasKoetzing.de Twitter http://twitter.com/Koetzing
-
Thursday, August 16, 2012 1:46 AM
Got that symptom in a big XenApp/TS farm on Win2008R2, but not on Win2003 with the same GPO, same app published and the exact same printer driver (except 32/64 version). The way Win2008 isloate the driver is the culprit IMO, saved some %cpu time/login time by disabling that, but not enougth for my users
Finished on my side to resolve that by installing locally all printer and a script to map the default's one depending on AD Group membership. Never got problem after that.
MCP | MCTS 70-236: Exchange Server 2007, Configuring
Want to follow me ?
| Blog:
http://www.jabea.net | http://blogs.technet.com/b/wikininjas/- Edited by Yagmoth555 Thursday, August 16, 2012 1:47 AM

