Enable Advanced Printing Feature via registry or script

Posted on 2007-10-02
Last Modified: 2008-01-09
We have a print server (Windows 2003) and a third party printer quota software package.

Every time we reboot our server this software package resets the "Enable Advanced Printing Feature" setting on all of our printers.

Does anyone know of a way of setting this to enabled?
Suitable soultions include
- Registry hacks
- VBscript
- command line tools

We do not want to run any macro or key generation tools. Altering the printer directly is the preferred option.

We may have just missed an obvious registry key but we are stumped.
Question by:Beldoran
    LVL 29

    Accepted Solution

        Hi Beldoran
              Download RegMon
              After you install it, navigate the printer properties and check "Enable Advanced printing". Watch Regmon and see which registry entries change how.
              Then export these changes and do a startup batchfile to import after every restart

    LVL 29

    Expert Comment

    by:Alan Huseyin Kayahan
         and another option (risky a little bit)
              *Create a system restore point
              *Check the "Enable advanced printing" box.
              *Create a user in computer with admin rights.
              *After you tracked down the registry values that change when you check and apply "enable advanced printing", navigate to the registry key (the folder that contains it in left folder), right-click it, then click permissions.
             *Add the new admin user with full rights here, then note down the other user entries like System (ignore administrators)
            * Click "advanced" in permissions window, and remove the inheritance checkbox. When prompted, choose copy.
           * Now back to permissions window, remove administrators group, then give only "read" permission to all entries except the new admin you created.
           * Restart the computer and see if "Enable advanced printing" is gone or not.

    LVL 4

    Author Comment

    Thankyou for the response. As this server is also our main domain controller with other mission critical functions as well, I have been reluctant to 'play' with it. We reboot it only once a month maybe less depending on the severity of the updates needed.

    I did try to use regmon on a workstation but did not get what I was after. It may be that I was doing something wrong. I will try again and post the results tomorrow.

    LVL 4

    Author Comment

    Well, after using Regmon again I remember why I did not find what I wanted in the past (thousands of keys get changed or updated with each apply). This time I persisted and tracked it down to two important keys. It seems that one bit of one key was what was needed but the other key was a changeId key.

    If I manually change the bit I need the changeID does not update and it seems that the clients will not see the change because the cahngeID has not updated.

    After further research I narrowed it down to using the spooler API and a structure called "PRINTER_INFO_2" with the field being an INT32 field called Attributes (Only one bit needs changing 0x1000). Once I had this I did a few more searches I found that "printui.dll" can be used to alter the printer info structure. Unfortunatelty the help for this did not seem to include the ability to enable the advance printing. So I tried the settings that were available just in case.

    Doing this I found that turning off the "RawOnly" attribute actually enables the advanced printing features! I really love it when things are so obvious, so as a help for anyone else with this issue I have included the relevant commands below.

    To Enable Advanced Printing Features
    RUNDLL32 PRINTUI.DLL,PrintUIEntry /Xs /n "printer name" attributes -RawOnly

    To Disable Advanced Printing Features
    RUNDLL32 PRINTUI.DLL,PrintUIEntry /Xs /n "printer name" attributes +RawOnly

    Thanks for setting me back on the path MrHusy

    Featured Post

    6 Surprising Benefits of Threat Intelligence

    All sorts of threat intelligence is available on the web. Intelligence you can learn from, and use to anticipate and prepare for future attacks.

    Join & Write a Comment

    Suggested Solutions

    Title # Comments Views Activity
    Decommissioning old SMS server 3 36
    Macro to create Bar charts 4 50
    Windows print sharing 1 39
    PowerShell to find remote logins 6 44
    This is my 3rd article on SCCM in recent weeks, the 1st ( dealing with installat…
    Over the years I have built up my own little library of code snippets that I refer to when programming or writing a script.  Many of these have come from the web or adaptations from snippets I find on the Web.  Periodically I add to them when I come…
    This video gives you a great overview about bandwidth monitoring with SNMP and WMI with our network monitoring solution PRTG Network Monitor ( If you're looking for how to monitor bandwidth using netflow or packet s…
    In this tutorial you'll learn about bandwidth monitoring with flows and packet sniffing with our network monitoring solution PRTG Network Monitor ( If you're interested in additional methods for monitoring bandwidt…

    754 members asked questions and received personalized solutions in the past 7 days.

    Join the community of 500,000 technology professionals and ask your questions.

    Join & Ask a Question

    Need Help in Real-Time?

    Connect with top rated Experts

    24 Experts available now in Live!

    Get 1:1 Help Now