Fixing Scripts policy settings problems

Applies To: Windows Server 2003, Windows Server 2003 R2, Windows Server 2003 with SP1, Windows Server 2003 with SP2

This section discusses troubleshooting issues related to Scripts policy settings.

Scripts Processing Background

Startup, logon, logoff, and shutdown scripts can be applied using Group Policy settings. The Scripts CSE processes these script settings. The Scripts CSE updates the registry with the location of one or more script files so that the UserInit process can find those values in the course of its normal processing. When a CSE reports success, it might only mean that the value has been placed in the registry. Even though the setting is in the registry, there could be problems preventing the setting from being applied to the client. For example, if a script specified in a Script setting has an error that prevents it from completing, that Script CSE does not detect error.

Scripts processing contains two steps--Group Policy processes a GPO and stores the script information in the registry:

  • HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\System\Scripts (User Scripts)

  • HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\System\Scripts (Machine Scripts)


Script is run by means of a UserInit process. (By default, scripts that cannot be completed time out after 10 minutes.)

Only Windows XP, Windows Server 2003, and later operating systems support WMI filtering. If the computer is running an earlier operating system, the WMI filter is ignored and the GPO is applied.


The time-out is the time allotment for all scripts to run. This can be modified using the Computer policy setting Maximum wait time for Group Policy Scripts.

Common script errors include:

  • Incorrect script path.

  • Script time-out.

  • Access to script is restricted by means of ACLs (typically for startup/shutdown scripts that run as computer, not user).

If a logon script fails, it typically does not affect the other scripts. However, startup scripts are often run synchronously, and a failure of one of these scripts can affect scripts intended to run later.

To investigate, check the Application Event Log for entries with UserInit as the source.

Fixes for specific Scripts policy settings issues

From the following list, choose the problem that best describes your situation, and then step through the suggested fix: