We configure logon scripts to prepare the environment of user. But the behavior that brought in with Windows 8.1 & Windows server 2012 R2 group policies might drive you nuts and you may observe a delay of 5 minutes before your logon scripts starts executing.
If you are running in to the same issue where your login scripts are delayed and because of that user experience(like drive mapping, printer configuration, etc) is affected, then you might want to consider tuning the below Group Policy setting to bring back the things to normal.
Configure Logon Script Delay is the policy that Microsoft introduced with Windows 8.1 & Windows Server 2012 R2 which will add default 5 minutes delay to start-up of your logon scripts execution when not configured or enabled. If you don’t want to have this delay for your logon scripts and want to complete their execution before the desktop is presented to user, then you should consider disabling this.
You can find this policy under Computer Configuration\Policies\Administrative Templates\System\Group Policy
Here is the help content you will find group policy setting:
Enter “0” to disable Logon Script Delay.
This policy setting allows you to configure how long the Group Policy client waits after logon before running scripts.
By default, the Group Policy client waits five minutes before running logon scripts. This helps create a responsive desktop environment by preventing disk contention.
If you enable this policy setting, Group Policy will wait for the specified amount of time before running logon scripts.
If you disable this policy setting, Group Policy will run scripts immediately after logon.
If you do not configure this policy setting, Group Policy will wait five minutes before running logon scripts.
Hope this helps…
On my windows server 2012 with Desktop Experience enabled, even with this GP setting, I notice there’s still approx 10-15 second delay from desktop presentation to the firing of the first logon script.
Even when I double click a .bat file on the desktop to execute, there is a delay of approx 10 secs.
Any idea why this might be true?