Logon scripts have long been used to configure users’ desktop environments, adding network drive mappings and desktop shortcuts etc. But there are some tasks that require administrative privileges and can’t be executed as part of a logon script if users don’t have administrative access to their PCs. In this Ask the Admin, I’ll show you how to configure a Group Policy Object (GPO) to run a startup script with administrative privileges.
Startup scripts run just before the boot process gets to the logon screen, and in the context of the local computer account, which has local administrative privileges. Startup scripts can be stored in the GPO itself, removing the need to configure a network share.
🎬 Watch This Week in IT.
Log on to a Windows Server 2012 R2 domain controller (DC) with a domain administrator account and follow the instructions below.
Create a new Group Policy Object in Active Directory:
Add the startup script settings to the GPO:
You can additional scripts and set the order in which they run by using the Up and Down buttons. Additionally, PowerShell scripts can be added on a separate tab and set to run before or after scripts specified on the first tab.
Finally, link the GPO to an OU, domain, forest or site:
The startup script will now run on computers that have the GPO applied. For more information on using the Group Policy Management Console and linking GPOs, see Working with Group Policy on Petri.
To troubleshoot a GPO startup script, check the Event Viewer for errors, verify the script permissions, ensure the script path is correct, and use GPResult or RSOP tools to confirm the GPO is being applied. You can also enable script logging through Group Policy to track execution details.
Yes, multiple GPO startup scripts can be configured to run in a specific order using link order and script execution priority settings. You can also use WMI filters and security filtering to control which machines execute specific GPO startup scripts.
When creating GPO startup scripts, always include error handling, use absolute paths, implement logging mechanisms, test in a non-production environment first, and ensure the script is compatible with the target operating systems. Additionally, keep scripts modular and document all dependencies.
Yes, you can implement delayed execution in GPO startup scripts using scheduled tasks, Windows Task Scheduler, or by incorporating sleep commands. This is particularly useful when certain network resources or services need to be available before the script runs.
Monitor GPO startup script performance by enabling script execution logging, using PowerShell transcription logging, implementing custom performance counters, and utilizing Windows Performance Monitor. You can also create automated reports using Windows PowerShell to track script execution times and success rates.