none
Network printer driver re-installed at each logon with RDS

    Question

  • 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



    Sunday, February 26, 2012 12:47 PM

All replies

  •  

    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

    http://blogs.msdn.com/b/rds/archive/2009/09/28/using-remote-desktop-easy-print-in-windows-7-and-windows-server-2008-r2.aspx

    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.

    Tuesday, February 28, 2012 8:51 AM
  • >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




    Wednesday, February 29, 2012 3:35 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?

    Friday, March 02, 2012 6:07 PM
  • 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 forum

    2. 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


    Saturday, March 03, 2012 6:06 AM
  • 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

    Sunday, March 04, 2012 10:51 PM
  • 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 directory

    Hm, 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



    Monday, March 05, 2012 9:35 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

    Wednesday, August 15, 2012 10:53 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/


    Thursday, August 16, 2012 1:46 AM
  • Hi Yagmoth555,

    When you say "installing locally all printer" where are you installing to? The client or the RDS server?

    Thanks,

    Darren.

    Monday, May 27, 2013 2:56 AM
  • On the RDS's server(s). With correct security setting on each of them the user that log only see the correct printer and I set the default's one by script. (http://social.technet.microsoft.com/wiki/contents/articles/22950.windows-server-terminal-server-set-default-printer-with-a-local-script.aspx)


    MCP | MCTS 70-236: Exchange Server 2007, Configuring
    Microsoft Translator Widget - French moderator (Technet Wiki)

    Twitter - @yagmoth555 ()
    Blog: http://www.jabea.net | http://blogs.technet.com/b/wikininjas/


    • Edited by Yagmoth555MVP Thursday, February 06, 2014 3:42 PM added a exemple
    Monday, May 27, 2013 3:29 AM
  • Appreciate the rapid response. I will investigate this option. But I think because we use PaperCut to redirect printing this option might not be feasible.

    Issue we are experiencing is the HP universal driver installation is getting corrupted intermittently when users login and their auto-created printers are setup. Like Thomas, we use thin clients and I would like to prevent this driver re-install from occurring and force the session printers to use the existing drivers in the image.

    Monday, May 27, 2013 4:59 AM