I need to disable the login screensaver on a mass install of workstations.

I need a scriptable (eg registry based) solution, it's not feasible to click-click-click on multiple accounts on many platforms.

I have looked at & tried a lot of methods that have been posted over the years.  Most involved variants of this:

Control Panel\Desktop]

under various root keys, or in default user\ntuser.dat

None of these work now.  The accounts, when they initialize, always get SCRNSAVE.EXE back, & ScreenSaveActive=1.

I can't find where this is coming from - I cannot find these strings (so far) on the platform.

I have been successful in setting the  screensave timeout thru regedit to a large number.  This is better than no solution.

But I would like to understand what is really happening & how to control it; there are kiosk-like applicatons where even "a really big number" for timeout isn't long enough.  

Note: this platform is XP HOME, and has many sysadmin limitations compared to XP PRO.

0 Comments   [ - ] Hide Comments


Please log in to comment

Community Chosen Answer



through msi dump this registry in windows folder

On Error Resume Next



Set WshShell=CreateObject("Wscript.Shell")

WINDIR=wshShell.ExpandEnvironmentStrings( "%WINDIR%" )


Set SysVarReg = WScript.CreateObject("WScript.Shell")


SysVarReg.RegDelete "HKEY_CURRENT_USER\Control Panel\Desktop\SCRNSAVE.EXE"


set SysVarReg=nothing

Set WINDIR = Nothing



and through msi create a path in registry tab HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

in this create a registry and in value give the path of vbscript like c:\windows\aa.vbs.

Please restart the machine after installation of that dummy msi

Answered 10/17/2012 by: anshul
Orange Belt

Please log in to comment
Answer this question or Comment on this question for clarity



That is a per user setting, you need to edit the default users hive and change it there.  All new profiles will get the change, current profiles will not.

Answered 10/16/2012 by: SMal.tmcc
Red Belt

  • I did just that, as I described here:
    "under various root keys, or in default user\ntuser.dat"

    I can change the timeout in there (at least, to 9999 minutes) but the logon.scr &
    ScreenSaveActive=1 come back for each new user created, despite being removed
    and set to 0 respecitively in ntuser.dat.

    It's being changed somewhere else by something else in the new user set up process.
    But what ? And how? (And why? :^)
  • I do not know if pro has gpedit but if it does
    Open gpedit (start>run>gpedit.msc) and then go to User Configuration>Administrative Templates>Control Panel>Display. Find "screensaver" in the right pane and disable it. This should disable the screensaver and also remove access to the screensaver settings in the display applet.
  • you could also try putting batch file in startup that pokes that key.
  • This latter (batch job in startup) is what I have had to do. I have it execute once, change the key, delete the screensaver, & delete itself. The script also removes the power management password requirement; this meant that I had to grant access to the appropriate set of keys in the registry to unprivileged users. [I would prefer not to have
    to do that, but can live with that.] This kind of hackery is annoying tho; I'd like to find the
    source of the over-engineering & cut it off!'

    The reason I have the script delete itself is that the customer is not opposed to
    using the login screen or changing it where appropriate, but most usage patterns
    will not find the login screen helpful. So we set no re-login as a default & allow teachers or
    other users to adjust it as it suits them later.
  • The only other thing I can think of is set all your settings as a certain user. Rename the default profile, login in as administrator and under user profiles try to copy that user to default. To test after, login in as a third user and look at the settings.
Please log in to comment