Sprawdź poprawki odnośnik joeqwerty zbyt .
Jest ważny szczegół:
Znane problemy
MS16-072 zmienia kontekst bezpieczeństwa, z którym pobierane są zasady grupy użytkowników. Ta zmiana zachowania według projektu chroni komputery klientów przed luką w zabezpieczeniach. Przed zainstalowaniem biuletynu MS16-072 zasady grupy użytkowników zostały pobrane przy użyciu kontekstu zabezpieczeń użytkownika. Po zainstalowaniu biuletynu MS16-072 zasady grupy użytkowników są pobierane przy użyciu kontekstu zabezpieczeń komputera. Ten problem dotyczy następujących artykułów z bazy wiedzy:
- 3159398 MS16-072: Opis aktualizacji zabezpieczeń dla zasad grupy: 14 czerwca 2016 r
- 3163017 Zbiorcza aktualizacja dla systemu Windows 10: 14 czerwca 2016 r
- 3163018 Zbiorcza aktualizacja dla systemu Windows 10 w wersji 1511 i Windows Server 2016 Technical Preview 4: 14 czerwca 2016 r
- 3163016 Zbiorcza aktualizacja dla Windows Server 2016 Technical Preview 5: 14 czerwca 2016 r
Objawy
Wszystkie zasady grupy użytkowników, w tym te, które zostały przefiltrowane pod kątem bezpieczeństwa na kontach użytkowników lub grupach zabezpieczeń, lub na obu, mogą nie zostać zastosowane na komputerach przyłączonych do domeny.
Przyczyna
Ten problem może wystąpić, jeśli w obiekcie zasad grupy brakuje uprawnień do odczytu dla grupy użytkowników uwierzytelnionych lub jeśli korzystasz z filtrowania zabezpieczeń i brakuje uprawnień do odczytu dla grupy komputerów w domenie.
Rozkład
Aby rozwiązać ten problem, użyj konsoli zarządzania zasadami grupy (GPMC.MSC) i wykonaj jeden z następujących kroków:
- Dodaj grupę Użytkownicy uwierzytelnieni z uprawnieniami do odczytu w obiekcie zasad grupy (GPO).
- Jeśli korzystasz z filtrowania zabezpieczeń, dodaj grupę Komputery Domeny z uprawnieniami do odczytu.
Zobacz ten link Wdróż MS16-072, który wyjaśnia wszystko i oferuje skrypt do naprawy dotkniętych obiektów GPO. Skrypt dodaje Uwierzytelnionych użytkowników uprawnienia do odczytu do wszystkich obiektów zasad grupy, które nie mają uprawnień dla Uwierzytelnionych użytkowników.
# Copyright (C) Microsoft Corporation. All rights reserved.
$osver = [System.Environment]::OSVersion.Version
$win7 = New-Object System.Version 6, 1, 7601, 0
if($osver -lt $win7)
{
Write-Error "OS Version is not compatible for this script. Please run on Windows 7 or above"
return
}
Try
{
Import-Module GroupPolicy
}
Catch
{
Write-Error "GP Management tools may not be installed on this machine. Script cannot run"
return
}
$arrgpo = New-Object System.Collections.ArrayList
foreach ($loopGPO in Get-GPO -All)
{
if ($loopGPO.User.Enabled)
{
$AuthPermissionsExists = Get-GPPermissions -Guid $loopGPO.Id -All | Select-Object -ExpandProperty Trustee | ? {$_.Name -eq "Authenticated Users"}
If (!$AuthPermissionsExists)
{
$arrgpo.Add($loopGPO) | Out-Null
}
}
}
if($arrgpo.Count -eq 0)
{
echo "All Group Policy Objects grant access to 'Authenticated Users'"
return
}
else
{
Write-Warning "The following Group Policy Objects do not grant any permissions to the 'Authenticated Users' group:"
foreach ($loopGPO in $arrgpo)
{
write-host "'$($loopgpo.DisplayName)'"
}
}
$title = "Adjust GPO Permissions"
$message = "The Group Policy Objects (GPOs) listed above do not have the Authenticated Users group added with any permissions. Group policies may fail to apply if the computer attempting to list the GPOs required to download does not have Read Permissions. Would you like to adjust the GPO permissions by adding Authenticated Users group Read permissions?"
$yes = New-Object System.Management.Automation.Host.ChoiceDescription "&Yes", `
"Adds Authenticated Users group to all user GPOs which don't have 'Read' permissions"
$no = New-Object System.Management.Automation.Host.ChoiceDescription "&No", `
"No Action will be taken. Some Group Policies may fail to apply"
$options = [System.Management.Automation.Host.ChoiceDescription[]]($yes, $no)
$result = $host.ui.PromptForChoice($title, $message, $options, 0)
$appliedgroup = $null
switch ($result)
{
0 {$appliedgroup = "Authenticated Users"}
1 {$appliedgroup = $null}
}
If($appliedgroup)
{
foreach($loopgpo in $arrgpo)
{
write-host "Adding 'Read' permissions for '$appliedgroup' to the GPO '$($loopgpo.DisplayName)'."
Set-GPPermissions -Guid $loopgpo.Id -TargetName $appliedgroup -TargetType group -PermissionLevel GpoRead | Out-Null
}
}
Jeśli wolisz ustawić uprawnienia do odczytu dla komputerów w domenie (tak jak ja) zamiast użytkowników uwierzytelnionych, po prostu zmień to 0 {$appliedgroup = "Authenticated Users"}
na0 {$appliedgroup = "Domain Computers"}