Enable screen saver locking (VBScript)

This code can be found in Chapter 2 of Windows Server 2003 Security Cookbook

Purchase XP Cookbook or Networking Recipes for only $25 plus shipping! While supplies last.

Find out how to download all of the VBScript code from this site.

' This code enables screen saver locking for all users that log on
' a system even if they've configured other screen saver settings previously.
' ------ SCRIPT CONFIGURATION ------
strComputer = "."
strScreenSaveActive    = "1"
strScreenSaverIsSecure = "1"
strScreenSaveTimeout   = "300"
strScrnSave            = "scrnsave.scr"
' ------ END CONFIGURATION ---------
const HKEY_USERS = &H80000003

set objReg=GetObject("winmgmts:\\" & strComputer & "\root\default:StdRegProv")
objReg.EnumKey HKEY_USERS, "", arrSubKeys

for each strSubkey in arrSubKeys
   WScript.Echo strSubkey
   objReg.EnumValues HKEY_USERS, strSubkey & "\Control Panel\Desktop", _
                     arrValues, arrTypes
   if IsArray(arrValues) then
      WScript.Echo "  setting screen saver values"
      objReg.SetStringValue HKEY_USERS, strSubkey & "\Control Panel\Desktop", _
                            "ScreenSaveActive", strScreenSaveActive
      objReg.SetStringValue HKEY_USERS, strSubkey & "\Control Panel\Desktop", _
                            "ScreenSaverIsSecure", strScreenSaverIsSecure
      objReg.SetStringValue HKEY_USERS, strSubkey & "\Control Panel\Desktop", _
                            "ScreenSaveTimeOut", strScreenSaveTimeOut
      objReg.SetStringValue HKEY_USERS, strSubkey & "\Control Panel\Desktop", _
                            "SCRNSAVE.EXE", strScrnSave
   else
      WScript.Echo "  NOT setting screen saver values"
   end if
   WScript.Echo
next

This code has been viewed 3202 times.

New from the creators of TechTasks.com: StatSheet.com