In a heavily branched organization with Active Directory, I am working with the head IT department and we are delegating control to parts of the branch OU to the respective branch admins.
Our delegation concept currently handles group policies in a way that we create one group policy object under control of the head IT and one group policy object delegated to the branch admin for each of the branches, both linked on the same level to the branch OU, with the
-head GPO getting the
Enforced flag and the Link Order of 1.
When defining local groups (usually just pre-defined groups like Administrators or Remote Desktop Users) we are facing the problem that it is rather tricky to delegate. The ultimate goal is to have whatever the
-head GPO has defined in the group and merge in the
-branch membership definitions. We are defining local groups via GPP in
-head like this:
We are flushing the group memberships to make sure that group members which have been added once via the GPP but removed since are actually removed from the clients' local groups.
The same group might have membership definitions made via GPP in
Now the result is, that only
-head's definition is ultimately present on the affected clients. We get pretty much the same result when using
Restricted Groups instead of GPPs as the
Enforced link flag is giving the
-head GPO preference over the
-branch. And when mixing
Restricted Groups on
-head with GPPs on
-branch, we are seeing inconsistent results - depending on which CSE is running first (apparently the order of execution for CSEs is undefined), groups might or might not contain GPP-defined members from
So what would be the most sensible way to enforce certain memberships centrally while still allowing for delegation to the branch admins?