GPOs não se aplicam; razão: inacessível, vazio ou desativado; Servidor 2012 R2 e Windows 10

16

Eu tenho um domínio do Windows Server 2012 R2.

Ontem, a unidade de rede de um computador (executando o Windows 10 Pro) parou de funcionar.

Após investigação adicional ( gpresult /h ), aparece TODOS os objetos da política de grupo estão falhando com a razão Inaccessible, Empty, or Disabled .

Confirmei que todos os GPOs ainda existem e estão habilitados nos controladores de domínio (redundantes e locais). Além disso, há 20 outras máquinas no mesmo domínio e LAN sem absolutamente nenhum problema.

No entanto, existe um outro computador que testei e que apresentava o mesmo problema! Isso significa que o problema está nos servidores?

gpresult /r informa que um cliente está obtendo GPOs do DC1 local e o outro do DC2. Portanto, não é um problema relacionado a um DC específico.

gpupdate /force nada corrigiu (embora alegasse que as políticas foram aplicadas).

Eu tentei excluir as entradas do Registro para as políticas locais (seguindo este guia link ) e reinicialização - mesmo problema.

Encontrei esta página de suporte da Microsoft ( link ), mas ela se aplica apenas ao Windows 7 ou clientes anteriores.

Todas as minhas máquinas (servidor e cliente) estão executando versões de 64 bits e estão totalmente atualizadas. Eu reiniciei todos eles só para ter certeza.

    
por Daniel 17.06.2016 / 16:05

1 resposta

19

Verifique o link do patch joeqwerty também .

Existe o detalhe importante:

Problemas conhecidos

O MS16-072 altera o contexto de segurança com o qual as políticas do grupo de usuários são recuperadas. Essa mudança de comportamento por design protege os computadores dos clientes contra uma vulnerabilidade de segurança. Antes da instalação do MS16-072, as políticas do grupo de usuários foram recuperadas usando o contexto de segurança do usuário. Depois que o MS16-072 é instalado, as políticas de grupo de usuários são recuperadas usando o contexto de segurança das máquinas. Este problema é aplicável aos seguintes artigos da base de conhecimento:

  • 3159398 MS16-072: Descrição da atualização de segurança para o Grupo Política: 14 de junho de 2016
  • 3163017 Atualização cumulativa para o Windows 10: 14 de junho de 2016
  • 3163018 Atualização cumulativa para o Windows 10 versão 1511 e Windows Visualização técnica do Server 2016 4: 14 de junho de 2016
  • 3163016 Atualização cumulativa para o Windows Server 2016 Technical Preview 5: 14 de junho de 2016

Sintomas

Todas as políticas de grupo de usuários, incluindo aquelas que foram filtradas por segurança em contas de usuários ou grupos de segurança, ou ambos, podem não se aplicar em computadores associados a domínios.

Causa

Esse problema pode ocorrer se o Objeto de Diretiva de Grupo não tiver as permissões de Leitura do grupo Usuários Autenticados ou se você estiver usando filtragem de segurança e não tiver permissões de Leitura para o grupo de computadores do domínio.

Resolução

Para resolver esse problema, use o Console de Gerenciamento de Diretiva de Grupo (GPMC.MSC) e siga uma das etapas a seguir:

- Adicione o grupo Usuários Autenticados com Permissões de Leitura no Grupo    Objeto de diretiva (GPO).
- Se você estiver usando a filtragem de segurança, adicione o grupo Computadores do Domínio    com permissão de leitura.

Veja este link Implantar MS16-072 , que explica tudo e oferece script para reparar os GPOs afetados. O script adiciona permissões de leitura aos usuários autenticados a todos os GPOs que não têm permissão para usuários autenticados.

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

Se você preferir definir a permissão de leitura para Computadores do Domínio (como eu), em vez de Usuários Autenticados, altere esse 0 {$appliedgroup = "Authenticated Users"} para esse 0 {$appliedgroup = "Domain Computers"}

    
por 17.06.2016 / 17:07