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

GPO-Sec-filtering01

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.

GPO-Sec-filtering02

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

GPO-Sec-filtering03

GPO-Sec-filtering04

 

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.

Link: https://sdmsoftware.com/group-policy-blog/bugs/new-group-policy-patch-ms16-072-breaks-gp-processing-behavior/

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

GPO-Sec-filtering05

Ich freue mich über Kommentare und Anregungen.

Happy debugging.

Print Friendly, PDF & Email
  • Was this Helpful ?
  • yes   no