Meu problema é que a Diretiva de Grupo não é aplicada quando um cliente é inicializado recentemente. Diretamente após a inicialização, o cliente publica uma mensagem de erro no log de eventos com a origem "GroupPolicy (Microsoft-Windows-GroupPolicy)" e a ID do evento 1058: "O processamento da Diretiva de Grupo falhou. [...]". Na guia Detalhes, o ErrorCode é 50, que significa ERROR_NOT_SUPPORTED. Não é apenas uma questão estética: as políticas realmente não são aplicadas corretamente: as unidades de rede mapeadas não estão lá, por exemplo. Depois de esperar um pouco, a execução de "gpupdate" funciona e as políticas são aplicadas normalmente: as unidades de rede mapeadas são exibidas.
O cenário mais simples em que pude reproduzir o problema: O domínio recém-criado no Windows Server 2012R2 recém-instalado, o cliente é uma máquina de 64 bits do Windows 10 recém-instalada. O domínio consiste em apenas um controlador de domínio e não possui nenhuma relação com outros domínios.
Como a mensagem de erro informa que o Windows não pode ler um arquivo .GPT no compartilhamento SYSVOL do domínio, tentei acessar o mesmo arquivo em um prompt de comando. E, de fato, quando abro um prompt de comando logo após a inicialização, recebo o seguinte:
C:\Users\username>dir \\domain.example.com\sysvol
The request is not supported.
Depois de esperar um minuto ou dois, executar o mesmo comando fornecerá uma lista de diretórios. A execução do gpupdate neste momento funcionará bem.
Eu defini a configuração de Diretiva de Grupo "Sempre aguarde a rede na inicialização e no logon do computador" como "Ativado" e sei que essa diretiva é aplicada: no mesmo objeto de diretiva, uma configuração de Registro é especificada e quando eu checo o Registro no cliente, a configuração especificada está lá.
Outros fatores que podem ser relevantes:
- O NTLM é restrito no domínio, mas isso não parece importar: mesmo depois de ativá-lo, atualizando políticas e reinicializando todas as máquinas, os sintomas permanecem os mesmos.
- Não importa se o servidor está configurado usando DHCP ou com uma configuração estática.
- O servidor DNS do domínio não suporta Atualizações Dinâmicas. Os registros necessários foram adicionados manualmente (em C: \ Windows \ System32 \ config \ netlogon.dns)
- A hibernação é desativada no cliente (usando
powercfg /h off
), portanto, cada inicialização é uma inicialização completa, não uma Inicialização rápida - O tempo de espera de processamento da política de inicialização da política é definido como 120 segundos
- A conectividade com o DC funciona bem. Pings vai funcionar. Desligar o cliente, desabilitar minha conta no AD, ativar o cliente fará com que o cliente não faça o logon: ele notará imediatamente que a conta está desabilitada.
- Além desse problema, não percebo nada fora do comum.
Parece ser mais um problema de SMB do que um problema de Diretiva de Grupo. Detectar a conexão no lado do servidor mostra algo interessante: Na primeira vez em que executo o comando dir \\domain.example.com\sysvol
, o seguinte é exibido no Microsoft Message Analyzer no controlador de domínio :
- O cliente configura uma conexão TCP à porta 445 do controlador de domínio e uma negociação comum é executada com êxito (DialectRevision: 0x02FF).
- Imediatamente depois disso, um Negociar é realizado com sucesso. A DialectRevision é 0x0302.
- Imediatamente depois disso, o cliente fecha a conexão TCP com um TCP RST (??)
Toda vez que eu emito o comando e obtenho o erro, as etapas 2 e 3 ocorrem.
Quando o comando começa a funcionar, as etapas 1 e 2 ocorrem, mas, em vez de o cliente enviar um TCP RST, um SessionSetup é executado, um TreeConnect e muitas conversas SMB (aparentemente normais).
Portanto, parece que, de alguma forma, o cliente não conversará adequadamente o SMB com o controlador de domínio até um ou dois minutos após a inicialização, e isso causará falha no processamento da Diretiva de Grupo.
Alguém sabe como eu posso depurar e resolver esse problema?