Tags: Gruppenrichtlinien, PowerShell
Die Sicherheitsfilterung erlaubt es, GPOs auf bestimmte AD-Gruppen, Benutzer oder Computer anzuwenden bzw. diese auszuschließen. Will man diesen Mechanismus für viele Konten konfigurieren, dann ist die Gruppenrichtlinienverwaltung umständlich. PowerShell erweist sich für diese Aufgabe als effizienter.
Eine Sicherheitsfilterung (Security Filtering) bietet sich immer dann an, wenn die Einstellungen eines Gruppenrichtlinienobjekts nicht auf alle Mitglieder einer OU oder Domäne wirken sollen. Standardmäßig enthält ein verlinktes GPO immer den Security Principal Authentifizierte Benutzer (Authenticated Users), so dass alle User und Computer eines Active Directory davon betroffen sind.
Computerkonten mit PowerShell hinzufügen
Oftmals ist es erforderlich, Computerkonten nachträglich dem Security Filtering hinzuzufügen. Gründe können zum Beispiel Pilotierungen von GPO-Einstellungen sein, die fehlende Möglichkeit zur Konfiguration von Gruppenmitgliedschaften, weil diese nicht unmittelbar angewendet werden (Hinweis: Kerberos-Tickets, TGT) oder Evaluierungen mit beabsichtigten Ausschlüssen.
Muss man dafür eine größere Zahl von Computerkonten eintragen, dann ist die GPMC dafür umständlich und langwierig in der Handhabung. Dagegen erledigt ein kleines PowerShell-Script diesen Job zügig.
Download-Link: AddDevicesSecurityFiltering.ps1
Computer-Liste aus Textdatei einlesen
Zu Beginn weisen wir den Namen des betreffenden GPO und der Domäne jeweils eigenen Variablen zu. Dann importieren wir aus einer Textdatei die Liste der Computernamen, die in die Sicherheitsfilterung aufgenommen werden sollen, in das Array $Computers. Diese sieht folgendermaßen aus:
Wie man eine derartige Liste erstellt, sei jedem selbst überlassen. Excel mit Datenreihe ausfüllen, kann eine Möglichkeit sein und hilft in meinen Labs. Auch der PowerShell-Export aus dem AD ist ein probates Mittel.
Ausgangspunkt ist hier eine OU mit Windows-10-PCs, ihr Distinguished Name lautet
OU=W10,OU=NOTEBOOKS,OU=DUS,OU=GER,DC=kueppers,DC=lab
Die eigentliche Arbeit leistet dann der wiederholte Aufruf von Set-GPPermissions in einer Schleife, die über alle Elemente von $Computers iteriert. Dabei berechtigt der Parameter PermissionLevel mit dem Wert GpoApply das jeweilige Computer-Konto zum Ausführen des GPO.
Ablauf und Resultat
Nachdem das kurze Script ausgeführt wurde, sind die Computer-Objekte in das Security Filtering des betreffenden GPO integriert. Die Authenticated User habe ich dort zuvor von Hand entfernt, doch auch hier kann PowerShell helfen.
Hinweis: Achten Sie beim Entfernen der Authenticated User auf die Meldung, dass man nach dem Löschen auf andere Weise Computerkonten hinzufügen muss, weil das GPO sonst nicht angewendet wird. Hintergrund dafür sind die Änderungen durch den Patch MS16-072 vom 14. Juni 2016. Er bewirkt, dass auch GPOs für User im Sicherheitskontext des Computerkontos abgerufen werden.
Schauen wir nach Anwendung des PowerShell-Cmdlets in die GPMC, dann sieht man unter Scope das Security Filtering, erweitert um die gewünschten Computer-Konten.
Über die Registerkarte Delegation erreicht man dann die ACL und die Leseberechtigung für das verlinkte GPO.
Öffnet man den Dialog über die Schaltfläche Advanced, zeigt sich auch, dass das GPO auf den entsprechenden Computer angewendet wird.
Täglich Know-how für IT-Pros mit unserem Newsletter
Marcel Küppers arbeitet seit über 25 Jahren in der IT, aktuell als Team Leader, zuvor als Consultant und Infrastructure Architect unter anderem für den japanischen Konzern JTEKT/TOYODA mit Verantwortung über die Europastandorte Krefeld und Paris.
Darüber hinaus wirkte er als Berater im EU-Projekt-Team für alle Lokationen des Konzerns mit und ist spezialisiert auf hochverfügbare virtualisierte Microsoft-Umgebungen plus Hybrid Cloud Solutions.
Zertifizierungen: MS Specialist und MCTS für Hyper-V/SCVMM, MCSE, MCITP, MCSA. Zusätzlich zertifiziert für PRINCE2 Projektmanagementmethode.
Ähnliche Beiträge
- Defender Antivirus konfigurieren: Ausschlüsse, Echtzeitschutz, Scan-Verhalten und Reaktion auf Bedrohungen
- Microsoft Defender: Updates für Viren-Signaturen über Gruppenrichtlinien und PowerShell steuern
- Remotedesktop in Windows 11 und Server 2022 aktivieren (GUI, WAC, WMI, GPO)
- PowerShell 7 mit Gruppenrichtlinien verwalten
- Dateien und Verzeichnisse mit langen Namen löschen (in PowerShell)
Weitere Links