none
How can I ensure that Printing Defaults are reset on the clients? RRS feed

  • Question

  • Hi,

    we have a setup with a Windows Server 2008 print cluster and a mix of Windows XP and Windows 7 clients. On all clients the users are local admins.

    When the install a new print queue the Printing Preferences at the client is set to the "correct" values, meaning the values that we have set on the server. But if they change the settings (e.g. from Black/White to Colour) the setting is kept even after the application is closed.

    Either things have changed over time or the issue is caused by letting the users be local admins, but I beleive that the settings where previously set back to defaults once the application, from where the settings where changed, was closed.

    Can someone please tell me how to ensure that users do get the servers Printing Default forced on to them and that settings changed within an application is lost when closing the application?

    Thanks for your help - it is much appreciated!

    Best regards

    David

    Friday, March 11, 2011 9:52 PM

Answers

  • Hi,

    Thanks for the post.

    Please understand that the default Printing Preference settings only stay untill they are modifed on the local print queue. All print queue information on the client machine is profile specific.

    Thanks,

    Miles

     


    Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread.
    • Marked as answer by Noseydgj Tuesday, December 2, 2014 12:11 PM
    Monday, March 14, 2011 9:36 AM
    Moderator

All replies

  • Hi,

    Thanks for the post.

    Please understand that the default Printing Preference settings only stay untill they are modifed on the local print queue. All print queue information on the client machine is profile specific.

    Thanks,

    Miles

     


    Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread.
    • Marked as answer by Noseydgj Tuesday, December 2, 2014 12:11 PM
    Monday, March 14, 2011 9:36 AM
    Moderator
  • Hi Miles,

    yes, I do understand that the settings from the server under Printing Defaults is propagated to the users Printing Preferences only when the queue is installed at the client PC.
    However in an environment where we need to control the users settings it must be possible to reset these local Printing Preferences to reflect the Printing Defaults from the server. That's the only way to ensure that users have the same way of printing and that new settings are forced to the clients.

    Thanks,
    David

    Monday, March 14, 2011 12:12 PM
  • Hi David,

    Thanks for the update.

    Please understand that users can change these settings until the next refresh of Group Policy. In other words, the settings of group policy preference will be set back after the next refresh of Group Policy.

    You can read more details on Group Policy preferences by downloading the Group Policy preferences whitepaper from the Microsoft Download Center (http://go.microsoft.com/fwlink/?LinkId=103735)

    Thanks,

    Miles 


    Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread.
    Wednesday, March 16, 2011 9:42 AM
    Moderator
  • Hi Miles,

    thanks for the link. Looked at the documentation but I cannot see how this can resolve the issue. It does let me create queues at the devices but it will not update the existing queues. And it forces me to create a printer in the GPO for every print queue we have.

    I am looking for a solution that could be set on the print cluster a la "force client connections to re-write default settings when they connect to the queue" or a GPO saying something like "when a user logs on at a device make sure that all network queues to a server in this domain update default printing preferences from the servers".
    I hope the above explanation makes it more clear to you what I am trying to achieve :)

    Cheers,

    David

    Wednesday, March 16, 2011 11:22 AM
  • Hello David,

    Printing preferences is stored per printer per user basis. So once a user sets a particular printing preference for him, its going to stay.

     

     


    Digvijay Nath
    Wednesday, March 16, 2011 2:18 PM
  • Hi Digvijay,

    yes, that is correct. However deleting a single reg-key will revert the settings back to server defaults. As it is so simple to revert back to those settings I am convinced that there must be a more "legal" way than deleting reg keys.

    HKCU/printers/connections/,,servername,queuename » Devmode

    Therefore I am hoping for either a setting somewhere or a GPO. I cannot beleive that I am the first customer to ask for a feature like that.

    ~David

     

    Wednesday, March 16, 2011 2:41 PM
  • Setprinter.exe will handle this situation by resetting the devmode values for the printer connection.  Unfortunately the version of the tool available for download does not properly work for level 9.

    Digvijay, can you get an updated version of the setprinter tool to the customer so he can use this to reset the users devmode?

    David, reg delete is the only inbox solution for this.


    Alan Morris Windows Printing Team
    Wednesday, March 16, 2011 3:52 PM
    Answerer
  • Hi Alan,

    I have looked at the setprinter from Windows Server 2003 resource kit and it might be able to help me. However I kindly ask you to clarify the following for me:

    Ideally I would like the settings to be propagated from the server to the clients.
    The reason for this is that I might change settings on a server queue and I need the new setting to be propagated to the clients.
    I do not want to get the default queue settings, from when the queue was installed at the client and saved locally, but instead force the client to look at the server and replicate those current settings.

    I hope the above is clear – if not please let me know.

    Thanks,
    David

    Friday, March 18, 2011 8:31 AM
  • Using setprinter level 9, you will reset the users devnode for the connection.  The next time an application needs the default printer settings, the default server settings will be used.
    Alan Morris Windows Printing Team
    Friday, March 18, 2011 11:36 PM
    Answerer
  • Hi Ala,

    when you say "The next time an application needs the default printer settings, the default server settings will be used" does it mean that it will look at the server queue at that point and replicate settings? I need a firm confirmation of which settings it will apply.

    And finally: How do I get that Setprinter level 9? The tool from Windows Server 2003 Resource kit will not do it...

    ~David

    Wednesday, March 23, 2011 2:12 PM
  • I was hoping Digvijay could get you the latest version.  I'll mail him again.

    When you reset the Users devmode setting, the default from the server will be used but the client will use the servers setting stored on the local machine but the client will be updated periodically. 

    The "fixed" version of setprinter will work better for you but I used the 2003 version and it reset the devmode.  I think this works for me as I am admin on my machine.  You can test the 2003 version out with admin access for now.  I realize this will not be the way it will be deployed.

    setprinter "\\server\printer" 9 "pdevmode=NULL"

    Level 8 will display the servers setting on the client machine.  Changing settings on the server took a couple of minutes to propagate to the client machine and Word hangs on to the default settings once the application pulls them when it is launched.  I'd expect most applications would need to be restarted to get the updated client information after the reset.


    Alan Morris Windows Printing Team
    • Edited by Alan MorrisEditor Thursday, August 9, 2018 8:21 PM I missed a leading character
    Wednesday, March 23, 2011 5:08 PM
    Answerer
  • Hello David,

    Please give me your email. I will send you the file.

    Thanks

    Digvijay

     


    Digvijay Nath
    Wednesday, March 23, 2011 5:37 PM
  • Hi Alan & Digvijay,

    thanks for your reply.

    I need to deploy this via some kind of script as I can only target know print servers. Users might have a home office with their own shared printer and that should not be reset. This is why I am so focused on getting this implemented at the print server and somehow replicated to clients. This will kill any of those scripts that needs to be deployed, maintained and troubleshooted.

    Is there any way to use setprinter to force the client to get the server settings. I could then run that at logoff and the devmode=null at login.

    Thanks,
    david.gelfer-at-dsv.com

    Thursday, March 24, 2011 8:07 AM
  • Hi

    What might be of interest to you is this utility: http://www.printertools.ch/printsettings-enforcer

     

     

    Sunday, May 8, 2011 6:00 PM
  • Dear David,
    There is also this product for enforcing print rules: http://www.doc-q-route.com
    Regards,
    Gary

    Tuesday, May 31, 2011 2:57 PM
  • Install printers via Group Policy, set it to replace, every time the printer is replaced the "default" settings will be applied.
    Thursday, September 15, 2011 7:01 PM
  • How do I get a copy of the new setprinter.exe?  Is it GA and supported?

    Thanks,

    Tom

    tecke-at-yahoo.com

    Friday, February 24, 2012 12:06 PM
  • I second pinnells.  You should test the delivery of printers using group policy preferences instead of scripts if your ad environment in terms of group policy is healthy.  Whatever changes or settings you make to the print queues will be enforced to clients.  Others may disagree to move away from scripts but we've had good results since implementing.    
    Thursday, March 22, 2012 1:58 PM
  • Hi!  My issue is related so not sure whether to make a new post or keep it togeher with this one.

    In an application (Word, etc), printers remember their print properties: printing shortcut from the last print job, and only revert to their default when the application is closed.
    I want to make the printer reset to its default (plain paper) even while the application is still runnning, so the users don't have to keep checking if they are set to print on [tray 2 letterhead] because they did so earlier today, or they don't check and find they print on letterhead an waste the paper.

    They used to have 2 print queues, but we want to avoid setting up special queues for various pools of users.

    We have network printers deployed via Goup Policy.
    I don't want to add extra print queues if I can avoid it.

    Users in HR need to use their printer to keep things private, so printing to a different printer to get plain paper is not an option.

    I saw you suggested some utilities, but I thought there might be a setting in GP or on the machines / profiles of the users.


    • Edited by bodwyn Monday, April 16, 2012 12:16 AM Corrected Caps lock
    Monday, April 16, 2012 12:15 AM
  • As per Alan's post above ( http://social.technet.microsoft.com/Forums/en-US/winserverprint/thread/a0a9bb3f-db24-417d-9905-c310d068d3c6/#619db4ac-18f7-4bc4-8696-26cb600617d0 ) I don't think that's possible as it's a feature of the application, not the operating system.

    Your options are either to use a third party product which "tickets" print jobs rather than going through the print driver in order to ignore any devmode settings stored by the application, or you could write a VBA plug-in to replace Word's print option with your own which defaults the print settings each time before launching the print dialog. I've used custom plug-ins to Word before but have no idea how to write one I'm afraid.

    Wednesday, April 25, 2012 5:55 PM
  • I see it's a quite old post but still without an answer.

    What follows it's not exactly what David asked for (application-aware reset of printing defaults).

    I ended up here searching for a way to refresh printing defaults on clients without having users to remove/add printers manually. I hope this helps someone.

    A viable solution might be to create a login vbs script deleting -> adding all network printers currently installed on the user profile. Default printer setting is not affected.

    Tested on Windows 7 x64 clients and 2008 R2 print server.

    strComputer = "."
    
    Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
    
    Set colPrinters = objWMIService.ExecQuery("Select * From Win32_Printer")
    
    For Each objPrinter in colPrinters
    
                    If InStr(objPrinter.DeviceID, "\\") = 1 Then
    
                    UNCPrinter = objPrinter.DeviceID
    
                    objPrinter.Delete_
    
                    Set WshNetwork = WScript.CreateObject("WScript.Network")
    
                    WshNetwork.AddWindowsPrinterConnection UNCPrinter
    
                    End If
    
    Next
    Friday, July 27, 2012 4:47 PM
  • Or use GPP to erase all network printer and use GPP's again to re-publish the printer. Be aware that the login time can be increased.

    MCP | MCTS 70-236: Exchange Server 2007, Configuring

    Want to follow me ?  |  Blog: http://www.jabea.net | http://blogs.technet.com/b/wikininjas/

    Saturday, July 28, 2012 4:07 AM
  • Please can I have the fixed setprinter.exe for 2008R2 too?
    Saturday, October 25, 2014 6:30 AM