SBS 2011: GPO Anpassungen nach MS16-072


Veröffentlicht von MOS-Computer GbR am 23.07.2016

Nach dem Patchday vom 14. Juni 2016 rauschte es schon in diversen Foren: Plötzlich funktionierten etliche Gruppenrichtlinien nicht mehr so, wie sie sollten.

Microsoft hat mit dem Sicherheitsbulletin MS16-072 (Sicherheitsupdate für Gruppenrichtlinien (3163622)) die Funktionsweise geändert.

 

Auch der SBS 2011 ist von diesem Problem betroffen, da hier nun einige vorgegebene Standard-Gruppenrichtlinien nicht mehr funktionieren.

 

Im Windows SBS Blog hat Microsoft nun den Artikel " Windows SBS 2011, Windows SBS 2008 and impact of MS16-072" veröffentlicht, der explizit noch mal auf diesen Umstand und die Folgen eingeht. Ausserdem wird aufgeführt, wie man das Problem beheben kann.

 

Beachten Sie bitte, dass Sie die beiden dort aufgeführten Scripte für einen deutschen SBS 2011 erst anpassen werden müssen, da es hier keine "Domain Computers" sondern "Domänencomputer" gibt. Wir stellen Ihnen die angepassten Scripte etwas weiter unten zur Verfügung.

 

Hier eine kurze Zusammenfassung der Vorgehensweise:

  1. Kopieren Sie den Code aus dem ersten Script in eine Datei, die Sie "checkgporead.ps1" nennen
  2. Kopieren Sie den Code aus dem zweiten Script in eine Datei, die Sie "fixgpoper.ps1" nennen
  3. Öffnen Sie eine Powershell mit Admin-Rechten
  4. Führen Sie "checkgporead.ps1" aus
  5. Erhalten Sie "rote Zeilen" (vergleiche Beitrag von Microsoft), sind Ihre std. GPOs betroffen
  6. Führen Sie in diesem Fall "fixgpoper.ps1" aus (vergleiche Beitrag von Microsoft)
  7. Prüfen Sie danach erneut mit "checkgporead.ps1", ob die vorherigen Zeilen nun gelb erscheinen (vergleiche Beitrag von Microsoft)
  8. Fertig

 

checkgporead.ps1

 

#Load GPO module
Import-Module GroupPolicy

#Get all GPOs in current domain
$GPOs = Get-GPO -All

#Check we have GPOs
if ($GPOs) {

#Loop through GPOs
foreach ($GPO in $GPOs) {

#Nullify $AuthUser & $DomComp
$AuthUser = $null
$DomComp = $null

#See if we have an Auth Users perm
$AuthUser = Get-GPPermissions -Guid $GPO.Id -TargetName “Authenticated Users” -TargetType Group -ErrorAction SilentlyContinue

#See if we have the ‘Domain Computers perm
$DomComp = Get-GPPermissions -Guid $GPO.Id -TargetName “Domänencomputer” -TargetType Group -ErrorAction SilentlyContinue

#Alert if we don’t have an ‘Authenticated Users’ permission
if (-not $AuthUser) {

#Now check for ‘Domain Computers’ permission
if (-not $DomComp) {

Write-Host “WARNING: $($GPO.DisplayName) ($($GPO.Id)) does not have an ‘Authenticated Users’ permission or ‘Domain Computers’ permission – please investigate” -ForegroundColor Red

}   #end of if (-not $DomComp)
else {

#COMMENT OUT THE BELOW LINE TO REDUCE OUTPUT!

Write-Host “INFORMATION: $($GPO.DisplayName) ($($GPO.Id)) does not have an ‘Authenticated Users’ permission but does have a ‘Domain Computers’ permission” -ForegroundColor Yellow

}   #end of else (-not $DomComp)

}   #end of if (-not $AuthUser)
elseif (($AuthUser.Permission -ne “GpoApply”) -and ($AuthUser.Permission -ne “GpoRead”)) {

#COMMENT OUT THE BELOW LINE TO REDUCE OUTPUT!
Write-Host “INFORMATION: $($GPO.DisplayName) ($($GPO.Id)) has an ‘Authenticated Users’ permission that isn’t ‘GpoApply’ or ‘GpoRead’” -ForegroundColor Yellow

}   #end of elseif (($AuthUser.Permission -ne “GpoApply”) -or ($AuthUser.Permission -ne “GpoRead”))
else {

#COMMENT OUT THE BELOW LINE TO REDUCE OUTPUT!

Write-Output “INFORMATION: $($GPO.DisplayName) ($($GPO.Id)) has an ‘Authenticated Users’ permission”

}   #end of else (-not $AuthUser)

}   #end of foreach ($GPO in $GPOs)

}   #end of if ($GPOs)

 

 

fixgpoper.ps1

 

Import-Module GroupPolicy

Get-GPO -All | Set-GPPermissions -TargetType Group -TargetName “Domänencomputer” -PermissionLevel GpoRead

 

 

 

Das könnte Sie vielleicht auch interessieren:

 

 



Zurück