Windows Active Directory

Windows Group Policy Object Inheritance: Explained

Introduction:

In Active Directory (AD), there is a significant feature called Group Policy that allows you to implement specific settings for users and computers. Administrators can apply hundreds of different settings to objects in AD by establishing Group Policy Objects (GPOs) and associating the GPO to domains, sites, and organizational units (OUs). Ironically, the versatility of Group Policy can also raise its complexity. It can specify a single setting for an entire domain, but it cannot easily specify distinct settings for hundreds of users or computers distributed across multiple geographic locations. Also, when numerous policies exist, it might be difficult to determine which settings are applied to a certain user or computer.

In the AD hierarchy, group policy settings that are related to parent objects are inherited by child objects. Also, Default Domain Policy is linked to the domain and is inherited by all domain hierarchy child objects. This is called GPO inheritance. It enables administrators to specify a common set of policies at the domain or site level while configuring specific policies at the OU level.

Group policy inheritance is useful in many cases. For example, assume you need to make some changes to your finance department. You can establish a GPO called “Finance Configuration” and link it to the Finance OU. After linking, the “Finance  Configuration” is applied to all Finance OU users and everything the OU includes.

GPO inheritance and blocking:

In Active Directory, GPOs are inherited automatically throughout the GPO application order. If a group policy setting is enabled at the highest domain level but is not configured at the OU level, the highest domain level setting takes precedence and is applied. Similarly, if a setting is not configured at the domain level and is disabled at the OU level, the OU setting is inherited.   

A user or a computer in an OU can have multiple GPOs applied to it. For example, Local Group Policy, GPOs linked to the site, GPOs linked to the domain, and GPOs linked to the OU. Also, multiple GPOs can be linked to any of these containers. The following is the order in which the Group Policy settings take effect.

The final configuration of policy settings applied to a user or computer combines all the policy settings defined in each GPO. In case of any conflicts, the policy settings configured for the GPO with higher precedence override the GPO with lower precedence. However, this behavior can be altered using the block inheritance option. To block inheritance and apply only the policy settings configured in GPOs linked to a particular OU, right-click the OU and select Block Inheritance. This will block all the policy settings from GPOs linked at the domain level, site level, and parent OUs.

Enforcing a GPO:       

GPOs can be enforced so that the GPOs linked to a higher level container like domain or a parent OU takes precedence over the GPOs linked to a lower level container. To enforce a GPO, select the GPO linked to a container. Right-click the GPO and select Enforced.

GPOs that are enforced will be applied to a lower-level container even when the ‘Block Inheritance’ option is enabled for that container. Learn how you can force a group policy update from here.

Disabling a GPO:      

By default, both the Computer Configuration and User Configuration policy settings of a GPO are enabled and applied to all users and computers present in the container in which the GPO is linked. But, situations may arise in which the GPO has to be disabled for a particular period. To disable a GPO, follow these steps:

The four GPO statuses available

Configuring inheritance using PowerShell

The PowerShell console can be used to configure inheritance. The steps for managing inheritance are as follows:

Block & unblock inheritance:

Set-GPInheritance

[-Target] <String>

-IsBlocked <BlockInheritance>

[-Domain <String>]

[-Server <String>]

[-WhatIf]

[-Confirm]

[<CommonParameters>]

Note: The Target option specifies the domain or OU’s Lightweight Directory Access Protocol (LDAP) distinguished name, while the IsBlocked parameter specifies whether to block or unblock inheritance.

Obtain inheritance information:

Get-GPInheritance
[-Target] <String>
[-Domain <String>]
[-Server <String>]
[<CommonParameters>]

Active Directory empowers administrators with increased control over Group Policy Objects. Group Policy management features such as Block/Unblock Inheritance and Group Policy Enforcement give administrators the options they need to successfully implement Group Policies within Active Directory, particularly in large organizations where multiple GPOs are applied at different levels within the Active Directory, which may cause some GPOs to accidentally override others.

Exit mobile version