GPO gagal berlaku; alasan: Tidak dapat diakses, Kosong, atau Dinonaktifkan; Server 2012 R2 dan Windows 10

16

Saya memiliki Domain Windows Server 2012 R2.

Kemarin, drive jaringan komputer (yang menjalankan Windows 10 Pro) berhenti bekerja.

Setelah penyelidikan lebih lanjut ( gpresult /h) tampaknya SEMUA objek kebijakan grup gagal dengan alasan Inaccessible, Empty, or Disabled.

Saya telah mengkonfirmasi bahwa semua GPO masih ada dan diaktifkan pada pengontrol domain (redundan dan lokal). Selain itu, ada 20 mesin lain pada domain dan LAN yang sama dengan sama sekali tidak ada masalah.

Namun, ada satu komputer lain yang saya uji yang disajikan dengan masalah yang sama! Apakah itu berarti masalahnya ada pada server?

gpresult /rmelaporkan bahwa satu klien mendapatkan GPO dari DC1 lokal, dan yang lainnya dari DC2. Jadi itu bukan masalah yang berkaitan dengan DC tertentu.

gpupdate /force tidak memperbaiki apa-apa (meskipun ia mengklaim bahwa kebijakan diterapkan).

Saya mencoba menghapus entri registri untuk kebijakan lokal (mengikuti panduan ini /superuser/379908/how-to-clear-or-remove-domain-applied-group-policy-settings-after-leaving-the -do ) dan me-reboot - masalah yang sama.

Saya menemukan halaman dukungan ini dari Microsoft ( https://support.microsoft.com/en-us/kb/2976965 ), tetapi mengklaim itu hanya berlaku untuk Windows 7 atau klien sebelumnya.

Semua mesin saya (baik server dan klien) menjalankan versi 64-bit dan sepenuhnya diperbarui. Saya telah me-reboot semuanya hanya untuk memastikan.

Daniel
sumber
Terima kasih. Komentar Anda memberikan petunjuk untuk solusinya. Lihat di bawah.
Daniel

Jawaban:

19

Periksa tautan tambalan joeqwerty juga .

Ada detail penting:

Masalah Dikenal

MS16-072 mengubah konteks keamanan yang diambil dengan kebijakan grup pengguna. Perubahan perilaku menurut desain ini melindungi komputer pelanggan dari kerentanan keamanan. Sebelum MS16-072 diinstal, kebijakan grup pengguna diambil dengan menggunakan konteks keamanan pengguna. Setelah MS16-072 diinstal, kebijakan grup pengguna diambil dengan menggunakan konteks keamanan mesin. Masalah ini berlaku untuk artikel KB berikut:

  • 3159398 MS16-072: Deskripsi tentang pembaruan keamanan untuk Kebijakan Grup: 14 Juni 2016
  • 3163017 Pembaruan kumulatif untuk Windows 10: 14 Juni 2016
  • 3163018 Pembaruan kumulatif untuk Windows 10 Versi 1511 dan Pratinjau Teknis Windows Server 2016 4: 14 Juni 2016
  • 3163016 Pembaruan Kumulatif untuk Windows Server 2016 Pratinjau Teknis 5: 14 Juni 2016

Gejala

Semua Kebijakan Grup pengguna, termasuk yang telah difilter keamanan pada akun pengguna atau grup keamanan, atau keduanya, mungkin gagal diterapkan pada komputer yang bergabung dengan domain.

Sebab

Masalah ini dapat terjadi jika Objek Kebijakan Grup tidak memiliki izin Baca untuk grup Pengguna yang Diotentikasi atau jika Anda menggunakan pemfilteran keamanan dan tidak ada izin Baca untuk grup komputer domain.

Resolusi

Untuk mengatasi masalah ini, gunakan Konsol Manajemen Kebijakan Grup (GPMC.MSC) dan ikuti salah satu langkah berikut:

- Tambahkan grup Pengguna yang Diotentikasi dengan Izin Baca pada Objek Kebijakan Grup (GPO).
- Jika Anda menggunakan pemfilteran keamanan, tambahkan grup Domain Computers dengan izin baca.

Lihat tautan ini Menyebarkan MS16-072 yang menjelaskan semuanya dan menawarkan skrip untuk memperbaiki GPO yang terpengaruh. Skrip menambahkan izin pengguna yang Diotentikasi untuk membaca semua GPO yang tidak memiliki izin untuk pengguna yang Diotentikasi.

# 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
    }
}

Jika Anda lebih suka untuk mengatur izin baca untuk Komputer Domain (seperti yang saya lakukan) daripada Pengguna yang Diotentikasi, ubah saja 0 {$appliedgroup = "Authenticated Users"}menjadi seperti itu0 {$appliedgroup = "Domain Computers"}

yagmoth555
sumber
Sepertinya saya akan secara tentatif menandai ini sebagai jawabannya. Saya menambahkan "Domain Computers" dengan akses baca ke pemfilteran keamanan saya dan sekarang setidaknya salah satu komputer yang bermasalah berfungsi. Jadi saya menganggap patch secara otomatis diterapkan ke server melalui Pembaruan Windows dan menyebabkan masalah ini. Sekarang saya juga bertanya-tanya apa perbedaan antara tab Delegasi untuk GPO dan bagian Pemfilteran Keamanan ... waktu untuk membaca
Daniel
2
Untuk menambahkan sedikit kebingungan, bagi saya perlu menambahkan grup keamanan yang berisi pengguna DAN grup yang berisi komputer agar kebijakan dapat diterapkan. Menambahkan hanya satu (baik pengguna atau komputer) akan menghasilkan kebijakan yang tidak diterapkan. Tidak harus menjadi grup Domain Computers, hanya kombinasi pengguna dan komputer harus valid dalam pemfilteran keamanan jika kebijakan tersebut harus berlaku.
Adwaenyth
Itu memperbaikinya untuk perusahaan kami -> Tambahkan grup Pengguna yang Diotentikasi dengan Izin Baca pada Objek Kebijakan Grup (GPO). Big thx
Brain Foo Long
Itu tampaknya bukan solusi yang sebenarnya karena saya tidak ingin semua orang menerapkan GPO, hanya orang-orang tertentu dalam grup. Mengapa MS masih menyebarkan ini di Pembaruan Windows? Itu menghancurkan segalanya.
Sephethus
@ Sefethus Gunakan tab deleguation untuk menambahkan komputer domain dengan benar, GPO akan bekerja seperti biasa seperti itu. Jika GPO Anda tidak memiliki pengaturan komputer, menambahkan komputer domain ke filter keamanan tidak akan membuat apa-apa juga berlaku, tetapi tab deleguation lebih baik menurut saya.
yagmoth555