Group Policy Best Practices for AD Security
Group Policy best practices cover far more than OU structure and naming conventions. Poorly configured GPOs introduce security gaps, slow logon times, and create audit failures that are difficult to investigate with native tools alone. Effective GPO management requires deliberate design, controlled change auditing, and settings that enforce least privilege, restrict lateral movement, and meet compliance requirements.
Group Policy sits at the center of how Windows environments are configured, secured, and governed. When it works well, it enforces consistent settings across hundreds or thousands of machines without manual intervention.
When it is poorly structured or left ungoverned, a single misconfigured GPO can push unintended settings to every user in the domain, and native audit logs leave out the details that matter: what specifically changed, who made the change, and when.
Over time, GPO sprawl accumulates, inheritance becomes difficult to trace, and change management processes that exist on paper go unenforced technically. Security settings that should restrict administrative access or disable legacy protocols remain unconfigured, often because ownership of specific policies is unclear.
This guide covers both sides of that problem: the structural best practices that keep GPOs organized and manageable, and the specific security settings that reduce risk across domain-joined environments.
What is group policy?
Group Policy is a feature of Windows Active Directory that allows administrators to define and enforce configuration settings across users and computers in a domain. Settings are stored in Group Policy Objects (GPOs), which are linked to organizational units (OUs), sites, or the domain itself.
When a user logs in or a computer starts up, the relevant GPOs are applied in a defined order, enforcing the settings they contain. GPOs can control everything from password requirements and software restrictions to startup scripts and desktop configurations.
Why is group policy important?
Group Policy is one of the primary security and configuration enforcement mechanisms in Windows environments. Its importance spans five areas:
- Centralized configuration control: GPOs enforce consistent settings across hundreds or thousands of machines from a single point, eliminating the configuration drift that comes from managing devices individually.
- Security policy enforcement: Group Policy is the principal mechanism for enforcing security baselines across Windows environments, including restricting removable media, disabling NTLM, enforcing password policies, and controlling administrative access.
- Compliance evidence: Many frameworks including NIST, CIS, and PCI DSS require demonstrable enforcement of security controls. GPOs create the enforcement layer; auditing GPO changes creates the evidence trail auditors need.
- Attack surface reduction: Properly configured GPOs limit what users and processes can do on domain-joined machines, reducing the paths available for lateral movement, privilege escalation, and malware execution.
- Operational efficiency: Administrators can deploy software, map drives, configure printers, and manage startup scripts at scale without touching individual machines.
General best practices for group policy
The following practices address GPO structure, inheritance, change control, and processing performance.
Establish separate organizational units (OUs) for users and computers
Having a good OU structure makes it easier to apply and troubleshoot Group Policy. In particular, placing Active Directory users and computers in separate OUs makes it easier to apply computer policies to all computers and user policies to all users.
Note that the Users and Computers root folders in Active Directory are not OUs. If a new user or computer object appears in these folders, move it immediately to the appropriate OU.
Use nested organizational units for granular control
To delegate permissions to specific users or groups, place those objects in an appropriate nested OU (subOU) and link the GPO to it. For example, within the Users OU, you could create a subOU for each department and link the GPOs to those subOUs.
Apply a clear naming policy
Being able to determine what a GPO does simply by looking at its name will make Group Policy administration much easier. For example, you could use the following prefixes:
- U for GPOs related to users, such as U_SoftwareRestrictionPolicy
- C for GPOs related to computer accounts, such as C_DesktopSettings
Add comments to your GPOs
Add a comment to each GPO explaining its purpose and settings. This will make your Group Policy more transparent and easier to maintain.
Understand GPO Precedence
Multiple GPOs can be applied to the same Active Directory object at the same time. They are applied in a specific order, and the new settings replace those set by previously applied GPOs.
This order is called LSDOU, which stands for:
- Local: Group Policy settings applied at the local computer level have the lowest precedence.
- Site: Settings for Active Directory sites are applied next.
- Domain: Next are Group Policy settings that affect all OUs in the domain.
- OU: Last applied are GPO settings at the OU level.
Create smaller GPOs for specific use cases
Align each GPO with a specific purpose, making it easier to manage them and understand inheritance. Here are some examples of highly focused GPOs:
- Browser settings
- Security settings
- Software installation settings
- AppLocker settings
- Network settings
- Drive mappings
Keep in mind that loading many small GPOs can require more time and processing at logon than having a few GPOs that each cover more settings.
Set GPOs at the OU level rather than the domain level
Any GPO set at the domain level will apply to all Active Directory objects in the domain, which could result in some settings being applied to inappropriate users and computers. The only GPO that should be set at the domain level is the Default Domain Policy.
Instead, apply GPOs at the OU level. A secondary OU inherits the policies applied to the parent OU; there's no need to attach the policy to every secondary OU. If you have users or computers you don't want to inherit a setting, place them in their own dedicated OU.
Avoid blocking policy inheritance and policy enforcement
Blocking policy inheritance and enforcement makes GPO management and troubleshooting much more complicated. Instead, you should aim for a well-designed OU structure that makes these settings unnecessary.
Instead of disabling a GPO, delete its link
Disabling a GPO will prevent it from being applied to any OU in the domain, which could cause problems. Therefore, if a GPO is linked to a particular OU where you don't want it to be applied, delete the link instead of disabling the GPO. Deleting the link will not delete the GPO.
Avoid using the 'deny' permission in Group Policy
Administrators can explicitly deny a specific GPO from taking effect on a user or group. While this feature can be useful in certain scenarios, it can easily lead to unintended consequences because it won't be clear that a GPO isn't applying to certain objects. To determine which users or groups have been blocked, administrators should review each GPO separately.
Implement change management and change auditing for Group Policy
Changes to GPOs can have profound effects on security, productivity, compliance, and more. Therefore, all changes should be planned and fully documented. Additionally, you should monitor all Group Policy changes and receive notifications for critical changes.
Both goals are difficult with native tools: security logs do not provide a record of exactly which settings were changed, and getting alerts requires PowerShell scripting.
For a more comprehensive approach, see how Netwrix Auditor for Active Directory handles Group Policy change auditing.
Speed up GPO processing by disabling unused computer and user configurations
If you have a GPO that has computer settings but no user settings, you should disable User Configuration for that GPO to speed up GPO processing time.
Additionally, be aware of the following additional factors that can cause slow startup and login times:
- Login scripts that download large files
- Startup scripts that download large files
- Mapping home units that are located far away
- Distribute large printer drivers using Group Policy preferences
- Excessive use of Group Policy filtering based on Active Directory group membership
- User personal folders applied via GPO
- Using Windows Management Instrumentation (WMI) filters (see next section)
Avoid using too many WMI filters
WMI contains a huge number of classes that can describe almost any user and computer setting. However, using numerous WMI filters will slow down user access and lead to a poor user experience. Whenever possible, use security filters instead, as they require fewer resources.
Use loopback processing for specific use cases
Processing loopback limits user settings to the computer to which the GPO is applied. A common use of processing loopback is when certain settings are required when users only access specific terminal servers. You must create a GPO, enable processing loopback, and apply the GPO to the OU containing the servers.
Use Advanced Group Policy Management (AGPM)
AGPM provides GPO editing with versioning and change tracking. It is part of the Microsoft Desktop Optimization Pack (MDOP) for Software Assurance.
Back up your GPOs
As part of advanced GPO best practices, always ensure that your GPOs are version-controlled and restorable. Configure daily or weekly backups of your policies using PowerShell scripts or a third-party solution so you can always restore them to a known, safe state.
To see how Netwrix Auditor monitors and audits Active Directory changes in real time.
GPO best practices for managing settings
The following best practices will help you configure your GPOs to ensure strong security and productivity.
Do not modify the Default Domain Policy or the Default Domain Controller Policy
The Default Domain Policy affects all users and computers in the domain, so it should be used only for account, account lockout, password, and Kerberos policy settings.
Use the Default Domain Controller Policy only for the User Rights Assignment Policy and Audit Policy. It is even better to use separate GPOs for the policies listed above.
Limit access to the Control Panel
Restricting access to the Control Panel on Windows machines reduces the risk of unauthorized configuration changes. You can block all access or allow limited access to specific users using the following policies:
- Hide specified Control Panel items
- Prohibit access to Control Panel and PC settings
- Show only specified Control Panel items
Do not allow removable media
Removable media introduces two risks: malware infection if someone connects a compromised drive, and data exfiltration through unauthorized transfers. You can disable the use of removable drives using the "Prevent installation of removable devices" policy. You can also disable the use of DVDs, CDs, and floppy drives if desired, though they present lower risk.
Disable automatic driver updates on your system
Driver updates can cause serious problems for Windows users: They can cause Windows errors, performance drops, or even the dreaded Blue Screen of Death (BSOD). Regular users can't disable updates because it's an automated feature.
As an administrator, you can disable automatic driver updates using the "Turn off Windows Update device driver searching" group policy. You'll need the device's hardware IDs, which you can find in Device Manager.
Restrict access to the command prompt
The command prompt is useful for administrators, but enabling general users to run commands introduces risk. Disable it for regular users using the "Prevent access to the command prompt" policy.
Disable forced restarts
If a user doesn't shut down their computer when they leave work and their device is force-restarted by Windows Update, they may lose unsaved files. You can use Group Policy to disable these forced restarts.
Prevent users from installing software
Keeping users from installing software helps prevent malware infections, unauthorized applications, and configuration drift. You can prevent software installation by adjusting AppLocker and Software Restriction settings and disabling extensions such as ".exe" from running. For a broader view of software deployment options, including how GPO compares to SCCM and Intune, see Netwrix's deployment guide.
Disable NTLM authentication
The NTLM authentication protocol has numerous vulnerabilities, including weak cryptography. Using Group Policy, you can disable NTLM authentication in your network and enforce the use of Kerberos. Verify that no applications require NTLM authentication before making this change.
Block PowerShell locally
Enterprise users typically do not need PowerShell, and restricting its use helps prevent the execution of malicious scripts. Using Group Policy, you can block PowerShell on domain-joined computers. Administrators who need to use PowerShell can be excluded from the policy, or required to run scripts only on a designated machine.
Disable guest accounts on domain computers
Guest accounts typically have limited access and functionality compared to regular user accounts, but they still pose significant security risks. Disabling them via Group Policy helps prevent malicious users from gaining access to your environment.
Limit membership in the local administrators group
Members of the local administrators group can install software, delete system files, and modify security settings. This elevated access increases the risk of malware infections, accidental data loss, and deliberate data exfiltration. Using Group Policy, you can remove unnecessary accounts from the Local Administrators group on all computers. Limiting this group is a practical application of the principle of least privilege across your environment.
Rename the local Administrator account
The Local Administrator account is a prime target for attackers because it provides privileged access to the machine. To reduce this risk, it's best practice to rename the Local Administrator account. Also, use the account only when absolutely necessary; for routine tasks, use other administrative accounts with limited privileges.
Restrict anonymous access to named pipes and network shares
By default, named pipes and shares can be accessed anonymously, which can allow malicious actors to access sensitive data, such as confidential files, system information, and network security settings. Therefore, it's best practice to use Group Policy to restrict anonymous access to named pipes and shares across your network.
Apply current password best practices
Standards bodies like NIST offer guidelines for password policy settings that reduce the risk of password-based attacks and credential reuse. You can use Group Policy to apply these recommendations in your environment.
Keep in mind that stringent requirements for password length, complexity, and age do not always produce the intended security benefit in practice. Such policies can lead users to adopt insecure workarounds such as writing passwords down to avoid account lockouts.
To get the full benefit of strong password policies, consider using a tool like Netwrix Password Secure , which will automatically create, store, and fill user credentials. This way, you can improve security by requiring passwords to be long, include special characters, be changed frequently, and so on.
Disable anonymous SID enumeration
When anonymous SID enumeration is enabled, adversaries can gather information about user accounts and groups that is useful in planning attacks. You can disable it by modifying the following registry setting:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
Back up the registry before making any changes. Registry modifications should be performed only by authorized and trained personnel.
Prevent users from disabling Windows Defender
Ensure that built-in antivirus and antimalware protection remains active on all Windows systems. Navigate to the following path in the Group Policy Editor:
Computer Configuration > Administrative Templates > Windows Components > Windows Defender Antivirus
Configure the "Turn off Windows Defender Antivirus" setting as Disabled.
To see how Netwrix Auditor monitors Group Policy changes and flags unauthorized modifications, see Netwrix in action.
To see how Netwrix Auditor monitors Group Policy changes and flags unauthorized modifications.
Group Policy troubleshooting tips
The following tools and approaches help identify and resolve Group Policy application issues.
- In Windows 10 and Windows Server 2016, use the
gpresultcommand to display Group Policy information for a remote user and computer, including how long it takes to process the GPO. - Check the Event Viewer for any Group Policy-related errors or warnings.
- Use the Group Policy Results tool to see which policies are being applied to a specific user or computer, and which are not.
- Use the Group Policy Modeling tool to simulate the application of Group Policy for a specific user or computer and identify any issues.
- Check that the affected user or computer is in the correct OU in Active Directory and that the Group Policy is linked to the correct OU.
- Check for any conflicting GPOs that may be overriding the desired settings using the Resultant Set of Policy (RSoP) tool.
- Use the Group Policy Management Console to verify whether the user or computer has the necessary permissions to apply the GPO settings.
- Check for any network connectivity issues that may be preventing the user or computer from receiving Group Policy settings.
- Review whether the Group Policy settings are configured correctly.
- For issues with Group Policy Preferences settings, use the Group Policy Preferences troubleshooting extension.
- If all else fails, consider resetting Group Policy settings for the affected user or computer by running the gpupdate /force command or using the "Reset Group Policy Settings" option in the Group Policy Management Console.
How Netwrix Auditor for Active Directory can help
Group Policy changes are among the most consequential in any Active Directory environment. A single modified GPO can affect thousands of users and computers, and native security logs do not record which specific settings were changed.
They record only that a GPO object was modified. That gap makes it nearly impossible to investigate unauthorized changes or demonstrate compliance without additional tooling.
Netwrix Auditor for Active Directory gives administrators searchable, before-and-after visibility into every Group Policy and Active Directory change. It records who made each change, the exact settings modified, and when it happened, so teams can investigate, revert, and report without digging through incomplete event logs.
For teams required to demonstrate GPO change controls under CIS, NIST, or PCI DSS, Netwrix Auditor provides pre-built compliance reports that map directly to framework requirements.
Request a demo to see how Netwrix Auditor for Active Directory surfaces Group Policy changes across your environment.
Share on