GPO-Admin einrichten - Gruppenrichtlinien Delegation
GPO Delegation
Vorweg ein Danke schön an Martin Binder und Darren Mar-Elia
Von Martin ist die "Männer-Methode" über die SDDL zu arbeiten, das Klicken der Rechte in der Oberfläche ist einfach zu aufwendig :-) Darren hat den Tip gegeben die eigenen Rechte ans Ende der SDDL einzutragen und siehe da, jetzt gehts :-) MVP rules!
Das Ziel:
Richtlinien verwalten ohne Mitglied der Domänen-Admins zu sein. Einrichtung einer eigenen "GPO-Admins" Sicherheitsgruppe, die hinterher auf jeder vorhandenen Richtlinie und jeder neu erstellten Richtlinien alle Rechte hat.
Herausforderung:
- Es soll auch für jede neu erstelle Richtlinie gelten
- Ob der "GPO Manager" Richtlinien auch verlinken darf, soll nach OUs gesteuert werden können.
Wann brauche ich sowas?
Ihr habt Kollegen, die sich um TerminalServer, Citrix, RemoteDesktop Server kümmern, Kollegen die Clients verwalten etc. Der Job "Gruppenrichtlinien Manager" ist Plattform übergreifend. Das ist KEIN! Domänen Admin Job. Domänen Admins verwalten, wie der Name schon sagt die Domäne, die haben aber meist keinerlei Ahnung, was an einem Client definiert sein muss. Sie machen das nur, weil sie es dürfen ... Genauso geht es den "Client Admins", die kennen sich prima mit ihrem Client aus, sollten aber nicht das komplette AD verwalten.
Gruppenrichtlinien sollten von jemandem verwaltet werden, der Richtlinien verstanden hat und für den gesamten Prozess vom auspacken des Rechners bis zur Anmeldung alles entscheiden darf, egal ob Workstation oder Server. Richtlinien und Deployment gehen immer Hand in Hand.
Damit ich Richtlinien verwalten kann, muss ich kein Domänen Admin sein!
1. Sicherheitgruppe "GPO-Admins" erstellen
2. Benutzer "GPEdit" oder "GPOManager" erstellen und in die Gruppe packen.
3. Wir brauchen die SID der Sicherheitsgruppe, die lesen wir schon mal aus. Meine sieht so aus:
C:\>dsquery group -name "gpo-admins" | dsget group -sid sid S-1-5-21-3721253009-3085076533-1175789999-3106 dsget war erfolgreich C:\>
Jetzt müssen wir etwas scripten und ein wenig klicken.
Ihr braucht Die Scripte der GPMC - das unbekannte Feature
Die solltet ihr immer auf dem Rechner installiert haben, auf dem ihr eine GPMC nutzt. Die braucht man immer.
4. GPMC öffnen -> Gruppenrichtlinien Objekte -> Reiter: Delegierung -> GPO-Admins hinzufügen
oder per CMD:
cscript SetGPOCreationPermissions.wsf "GPO-Admins"
5. ADSI-Editor öffnen und zum Schema verbinden und das Objekt "CN=Group-Policy-Container" suchen.
Attribut: defaultSecurityDiscriptor öffnen, sieht ungefähr so aus, wir sehen die Microsoft SDDL:
D:P(A;CI;CCDCLCSWRPWPDTLOSDRCWDWO;;;CO)(A;CI;LCRPLORC;;;AU)(A;CI;CCDCLCSWRPWPDTLOSDRCWDWO;;;SY)(A;CI;CCDCLCSWRPWPDTLOSDRCWDWO;;;DA)(A;CI;CCDCLCSWRPWPDTLOSDRCWDWO;;;EA)(A;CI;LCRPLORC;;;ED)(OA;CI;CR;edacfd8f-ffb3-11d1-b41d-00a0c968f939;;AU)
Wir möchten, daß unsere "GPO-Admins" dieselben Rechte haben, wie Domänen-Admin oder Organisations-Admins. Jeder Sicherheits Eintrag steht in Klammern () am Ende jeder Klammer steht die Sicherheitsgruppe. DA - Domain Admins, EA - Enterprise Admins, CO - Creator Owner, SY - System (diese 4 Einträge sind identisch), AU - Authenticated Users. Wir nutzen "copy&paste" :-) des DA und fügen unsere "Gpo-Admins SID am Ende hinzu:
D:P(A;CI;CCDCLCSWRPWPDTLOSDRCWDWO;;;CO)(A;CI;LCRPLORC;;;AU)(A;CI;CCDCLCSWRPWPDTLOSDRCWDWO;;;SY)(A;CI;CCDCLCSWRPWPDTLOSDRCWDWO;;;DA)(A;CI;CCDCLCSWRPWPDTLOSDRCWDWO;;;EA)(A;CI;LCRPLORC;;;ED)(OA;CI;CR;edacfd8f-ffb3-11d1-b41d-00a0c968f939;;AU)(A;CI;CCDCLCSWRPWPDTLOSDRCWDWO;;;S-1-5-21-3721253009-3085076533-1175789999-3106)
6. Wir habend das Schema geändert, damit die neuen Werte direkt zur Verfügung stehen, müssen wir den Schema Cache aktualisieren. Der DC merkt sich das aktuelle Schema, bis zum nächsten Reboot. Wir können aber ein Schema Update "triggern".
Verbindet euch per ADSI Editor mit dem Schema. Auf dem Kontext des Knotens findet ihr "Schema jetzt aktualisieren".
Danach kann jeder "GPO-Editor" neue Richtlinien erstellen, die Sicherheitsgruppe und sein eigener Account werden auf den neuen Ojekten eingetraten. Erstellt ein Domänen-Admin eine GPO, werden ebenfalls die GPO-Admins hinzugefügt.
7. Jetzt fehlen noch die Rechte an allen vorhandenen Richtlinien, dort fügen wir noch die GPO-Admins hinzu. Ihr müsst noch den Namen eurer Domäne anpassen
cscript GrantPermissionOnAllGPOs.wsf "GPO-Admins" /Permission:FullEdit /domain:gallier.ads
8. Link, bzw. RSoP Rechte auf der gesamten Domäne setzen oder alternativ nur auf einer TestOU?
Da könnte ein GPO-Admin alle Richtlinien verwalten, aber keine in der Produktion verlinken. Natürlich kann er produktive Richtlinien dann manipulieren. Von daher solltet ihr jetzt bei den letzten beiden Scripten überlegen wie weit ihr das Recht tatsächlich vergebt.
Ich habe mich hier im Beispiel für einen "FULL GPO ADMIN" entschieden. Der darf bei mir auch domänenweit verlinken.
cscript SetSOMPermissions.wsf "gallier.ads" "gpo-admins" /permission:all /Inherit