GPO não aplicado ao Windows 7 e superior

2

Existem dois controladores de domínio. O primário funciona no Windows Server 2008 R2 e no secundário no Windows Server 2012.

Quando eu crio um GPO no controlador primário, ele é imediatamente copiado para o controlador de domínio secundário com todos os arquivos e scripts.

No GPO, na seção Configuração do usuário, defino variáveis de ambiente do sistema, além de criar uma pasta na área de trabalho e atalhos nela.

A filtragem de segurança do escopo do GPO contém um grupo de usuários, que está na pasta Usuários do controlador de domínio. Os membros que entram nele estão localizados em diferentes unidades organizacionais.

Se eu fizer logon em computadores que executam o Windows XP SP3, a política será executada imediatamente ou após a execução de gpupdate /force . Em computadores com uma versão do sistema operacional Windows 7 e superior (Windows 8.1, Windows 10) - a política não funciona e não se aplica ao usuário.

Em gpresult /scope user /z > c:\gpo_dump.log , vejo que o usuário é membro do grupo necessário, mas não o GPO encontrado na seção de GPOs aplicados e na seção de GPOs não aceitos. Por quê? Execute gpupdate /force e algumas vezes reinicialize não ajuda.

    
por Vladimir Z. 15.07.2016 / 08:50

1 resposta

3

Com base na data da sua pergunta, acredito que eu saiba a resposta para o seu problema.

Houve uma atualização do MS Security lançada em 14/6/2016 que mudou o comportamento dos GPOs com as configurações do usuário! Muito

Até agora, todos os GPOs com configurações de usuário foram aplicados no contexto de segurança do usuário. Portanto, as políticas foram aplicadas desde que o usuário tenha sido listado no filtro de segurança (como você o tem).

Mas com o comportamento após a atualização do MS, eles são aplicados no contexto do computador. Portanto, se você tiver um usuário ou um grupo no filtro de segurança, não será suficiente que as configurações do usuário na política sejam aplicadas. Você também precisa ter permissão de leitura para o computador do qual o usuário acessa o GPO. Você não precisa listá-lo na filtragem de segurança, mas precisa adicionar pelo menos a permissão READ (na guia de delegação de GPO) ao computador ou a um grupo do qual este computador é membro.

Portanto, basicamente, se o usuário A estiver se conectando a partir do computador B, você terá o usuário A listado na filtragem de segurança e o computador B precisará ter permissão de LEITURA no GPO (não a permissão para aplicar a política). Veja este link Implantar o MS16-072 , que explica tudo e também oferece script para reparar os GPOs afetados. A MS sugere adicionar a permissão READ para Usuários Autenticados a todos os GPOs (é para isso que o script é fornecido), mas acho que os Computadores do Domínio são um pouco mais seguros.

Isso tem me incomodado há semanas. Não consegui descobrir por que alguns GPOs de repente pararam de funcionar. É tudo por causa disso. Eu apreciaria se uma mudança tão grande tivesse mais publicidade porque eu estava executando um ambiente totalmente inseguro por muito tempo, porque os GPOs restritivos não estavam sendo aplicados. Eu sei que deveria, mas eu realmente não leio sobre todas as atualizações do MS que estou aplicando. Espero que isso ajude seu caso.

Este é o script para adicionar permissões de leitura de 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 em vez de Autenticação. Os usuários apenas alteram esse 0 {$appliedgroup = "Authenticated Users"} para esse 0 {$appliedgroup = "Domain Computers"}

Adicionando para esclarecimento:

Qualquer computador, usuário ou grupo ao qual você deseja APLICAR as configurações do GPO precisa ser listado no filtro de segurança. Listar usuário de computador ou um grupo na filtragem de segurança significa, efetivamente, que você está concedendo ao computador, usuário ou grupo duas permissões sobre o GPO - uma permissão é READ e a outra é APLICAR A POLÍTICA DE GRUPO. A guia de delegação fornece a opção de atribuir permissões ao GPO em mais detalhes, mas você pode verificar se, ao adicionar computador, usuário ou grupo na guia de filtragem de segurança, ele aparecerá na guia de delegação com essas duas permissões, READ e APPLY.

Ao adicionar computador, usuário ou grupo a uma guia de delegação e conceder a permissão READ, você NÃO deve aplicar o GPO a ele. Você está apenas permitindo que ele leia o GPO.

Então, vamos resumir -

  • para que as CONFIGURAÇÕES DO COMPUTADOR DE GPOs sejam aplicadas, é necessário que o computador (ou um grupo em que ele está) esteja listado na filtragem de segurança.
  • Para que as configurações de usuário do GPO sejam aplicadas, você precisa ter o usuário um grupo em que está) listado na filtragem de segurança E você precisa dar o computador (ou um grupo em que está) do qual o usuário acessa o GPO uma permissão READ no GPO.

Espero que isso seja esclarecedor para você.

    
por 08.10.2016 / 00:41