The estimated reading time 4 minutes
Microsoft hat am 14.06.2016 ein kleines und unscheinbares Update herausgebracht, welches aber einige GPOs dieser Welt unwirksam machen dürfte. Siehe hierzu Link
Zitat:
MS16-072 changes the security context with which user group policies are retrieved. This by-design behavior change protects customers’ computers from a security vulnerability. Before MS16-072 is installed, user group policies were retrieved by using the user’s security context. After MS16-072 is installed, user group policies are retrieved by using the machines security context.
Zur Erklärung: dies betrifft im ersten Schritt nur Gruppenrichtlinien mit Sicherheitsfilterung auf Benutzerebene (also z. B. über Sicherheitsgruppen)
Siehe Screenshot
Laut dem Microsoft Artikel werden die GPOs nun aber nicht mehr im Benutzerkontext ausgeführt sondern im Computerkontext, somit muss das Computerobjekt Leseberechtigungen auf die GPO haben. Dies kann im Delegation Tab überprüft werden.
Wenn Sicherheitsfilterung auf einer GPO gesetzt ist, wird Authentifizierte Benutzer komplett entfernt und nur die Sicherheitsgruppe (also eine bestimmte Benutzergruppe) dürfen diese GPO lesen
Soviel zum Hintergrund.
Nun wollen wir wieder eine funktionierende GPO ebenfalls mit Sicherheitsgruppenfilterung.
Laut Microsoft kann nun Authentifizierte Benutzer wieder mit der Berechtigung lesen hinzugefügt werden (in Authentifizierte Benutzer sind auch alle Computerkonten hinterlegt siehe Artikel )
Danach sollte die GPO wieder funktionieren.
Bessere Methode:
Hinzufügen der Domänen-Computer Gruppe.
Zitat aus dem KB Artikel
Resolution
To resolve this issue, use the Group Policy Management Console (GPMC.MSC) and follow one of the following steps:
- Add the Authenticated Users group with Read Permissions on the Group Policy Object (GPO).
- If you are using security filtering, add the Domain Computers group with read permission.
Ach ja im Deutschen heißen die Gruppen:
Authentifizierte Benutzer
Domänencomputer
Hier gibt es auch eine Übersicht über die Standardgruppen.
Also muss an der entsprechenden GPO die Berechtigung hinzugefügt werden
Dazu bei Delegation-> Add
Nun sollte die GPO wieder funktionieren!
Wer nun mehrere hundert GPOs hat will dies natürlich nicht von Hand erledigen.
Ein Blogger hat hierzu ein Powershell Script erstellt, welches ich in meiner 2012R2 Umgebung bereits getestet habe.
Ich habe dieses Script verändert, sodass nicht mehr authentifizierte Benutzer hinzugefügt wird sondern Domänen Computer
Englischer Domäne:
$allGPOs = get-gpo -all foreach ($gpo in $allGPOs) { # first read the GPO permissions to find out if Authn Users and Domain Computers is missing $perm1 = Get-GPPermission -Guid $gpo.id -TargetName "Authenticated Users" -TargetType group -ErrorAction SilentlyContinue $perm2 = Get-GPPermission -Guid $gpo.id -TargetName "Domain Computers" -TargetType group -ErrorAction SilentlyContinue if ($perm1 -eq $null -and $perm2 -eq $null) # if no authn users or domain computers is found, then add Domain Computers read perm { Set-GPPermission -Guid $gpo.Id -PermissionLevel GpoRead -TargetName "Domain Computers" -TargetType Group Write-Host $gpo.DisplayName "has been modified to grant Domain Computers read access" } }
Deutsche Domäne Update hier hatte sich noch ein Fehler eingeschlichen, nicht Domänen-Computer sondern Domänencomputer ist nun aber korrigiert :
$allGPOs = get-gpo -all foreach ($gpo in $allGPOs) { # first read the GPO permissions to find out if Authn Users and Domain Computers is missing $perm1 = Get-GPPermission -Guid $gpo.id -TargetName "Authentifizierte Benutzer" -TargetType group -ErrorAction SilentlyContinue $perm2 = Get-GPPermission -Guid $gpo.id -TargetName "Domänencomputer" -TargetType group -ErrorAction SilentlyContinue if ($perm1 -eq $null -and $perm2 -eq $null) # if no authn users or domain computers is found, then add Domain Computers read perm { Set-GPPermission -Guid $gpo.Id -PermissionLevel GpoRead -TargetName "Domänencomputer" -TargetType Group Write-Host $gpo.DisplayName "has been modified to grant Domain Computers read access" } }
Ich habe das Script auf einem DC in die ISE eingefügt und dann ausgeführt
Ich freue mich über Kommentare und Anregungen.
Happy debugging.
Super, ich wundere mich schon seit Monaten. Vielen Dank für diesen Beitrag!
Hallo,
Du hast mir echt den Tag gerettet. Ich habe da 3 Stunden dran gesessen.
Das kommt davon wenn man nicht jedes Patch Release Note liest.
Auch von mir DANKE schön.
damit konnten meine Richtlinien wieder sauber ihre Arbeit machen.
Dankeschön
Vielen Dank für den guten Beitrag.
Habe auch 2 Tage gesucht… Super Artikel!
Vielen Dank
Meine Rettung!!!
Ich habe schon einige Stunden damit verbracht die Ursache herauszufinden, weshalb meine bestehenden GPO’s nicht mehr gezogen haben.
Vielen herzlichen Dank für den tollen Beitrag!