Restaurar o GptTmpl.inf da Default Domain Controllers Policy (DDCP) e corrigir o erro “Account Policies security settings are unreadable”

Perdeu o arquivo GptTmpl.inf da “Default Domain Controllers Policy” e suas GPOs deixaram de aplicar? Este guia completo e prático mostra como restaurar o arquivo, ajustar SIDs com segurança, validar a aplicação e prevenir reincidências — sem recorrer a soluções improvisadas.

Índice

O que é o GptTmpl.inf e por que ele é crítico no Active Directory

O GptTmpl.inf é o template de segurança da GPO. No caso da Default Domain Controllers Policy (DDCP), ele vive em:

\<domínio>\SYSVOL<domínio>\Policies\{6AC1786C-016F-11D2-945F-00C04FB984F9}\MACHINE\Microsoft\Windows NT\SecEdit\GptTmpl.inf

Esse arquivo descreve valores de registro, direitos de usuário (privileges como SeBackupPrivilege) e outras security settings que precisam estar presentes em todo Domain Controller. Quando o arquivo some, a extensão de “Configurações de Segurança” da Diretiva de Grupo não consegue ler o que aplicar. Resultado: erros do tipo “Account Policies security settings are unreadable” e políticas que não chegam aos DCs.

Sintomas de que o GptTmpl.inf sumiu (ou corrompeu)

  • O editor da GPMC exibe warnings ao abrir a aba Settings da DDCP.
  • Em todos os DCs, o gpupdate retorna falha na extensão “Security” (as demais extensões, como Scripts, podem seguir normais).
  • No Event Viewer, em Applications and Services Logs → Microsoft → Windows → GroupPolicy → Operational, há eventos de falha na leitura do template.
  • Outras GPOs chegam a reportar o mesmo erro, pois dependem do pipeline interno de segurança que também processa o GptTmpl.inf.

Visão geral da correção

Existem duas rotas principais:

  1. Repor um GptTmpl.inf íntegro — preferencialmente copiando de um domínio-lab “limpo” com a mesma versão de SO e nível funcional.
  2. Restaurar as GPOs padrão via dcgpofix — atalho que recria as políticas padrão, mas descarta personalizações.

A primeira opção é a mais conservadora quando você deseja preservar customizações do ambiente. A segunda é útil se não há personalizações relevantes ou se é preciso voltar ao “estado de fábrica”.

Plano de ação passo a passo

PassoO que fazerObservações práticas
Criar um laboratório “limpo”Instale um DC Windows Server 2019 (ou versão equivalente à produção) em nível funcional 2016 ou superior, num ambiente isolado. Crie um novo domínio.Em um domínio recém-criado, a DDCP nasce com um GptTmpl.inf íntegro, contendo todas as entradas padrão esperadas para DCs.
Copiar para a produçãoTransfira o GptTmpl.inf do lab para o mesmo caminho da DDCP no domínio real, respeitando a estrutura de pastas do GUID.O conteúdo padrão cobre permissões e direitos essenciais. Após substituir, force a replicação do SYSVOL.
Ajustar SIDs (se necessário)Verifique se há SIDs dependentes do domínio (S-1-5-21-...-RID) no arquivo copiado e, se existirem, troque pelo Domain SID da sua floresta.SIDs bem-conhecidos (S-1-5-32-xxx, S-1-5-80-, S-1-5-82-) são universais. Somente cadeias iniciadas por S-1-5-21-<domainSID>- variam por ambiente.
Alternativa rápidaUse dcgpofix para recriar as políticas padrão.Perde customizações. Use se você sabe que a DDCP e a DDP não tinham ajustes essenciais.
Validar a restauraçãoExecute gpupdate /force, verifique o log de Group Policy e gere um gpresult/Get-GPOReport.Confirme que a extensão de “Configurações de segurança” volta a ler sem erro.

Como montar o laboratório “limpo” com rapidez

  1. Crie uma VM, instale Windows Server 2019/2022 e promova a DC de um novo domínio (ex.: lab.local). Não ingresse na rede de produção.
  2. Abra a pasta da DDCP: \\lab.local\SYSVOL\lab.local\Policies\{6AC1786C-016F-11D2-945F-00C04FB984F9}\MACHINE\Microsoft\Windows NT\SecEdit
  3. Copie o GptTmpl.inf recém-gerado para um local seguro (pen drive virtual, ISO montada, pasta segura).

Como copiar corretamente para a produção

  1. No controlador de domínio autoridade do seu ambiente, navegue até: \<domínio>\SYSVOL<domínio>\Policies\{6AC1786C-016F-11D2-945F-00C04FB984F9}\MACHINE\Microsoft\Windows NT\SecEdit
  2. Faça backup do que existir (mesmo que esteja vazio ou corrompido): robocopy ".\SecEdit" "D:\Backup\DDCPSecEdit<data>" /E /COPYALL /R:0 /W:0
  3. Copie o GptTmpl.inf do lab para essa pasta. Mantenha o nome exato do arquivo.
  4. Force a replicação do SYSVOL (DFSR): dfsrdiag pollad dfsrdiag ReplicationState Se ainda usar FRS (não recomendado), verifique o ntfrsutl e eventvwr.
  5. Valide a ACL do caminho da GPO (as permissões de pasta devem ser herdadas corretamente do objeto de GPO).

Ajustando SIDs com segurança

Muitos SIDs da DDCP são bem-conhecidos e não mudam entre domínios (ex.: S-1-5-32-544 = Administrators, S-1-5-32-551 = Backup Operators). Porém, qualquer SID que comece por S-1-5-21-<domainSID>- depende do seu domínio.

TipoPrefixoDepende do domínio?ExemplosPresença típica no GptTmpl.inf
Bem‑conhecidoS-1-5-32-*NãoAdministrators, Server Operators, Backup OperatorsLista em [Privilege Rights], p.ex. SeBackupPrivilege
Serviço protegidoS-1-5-82-, S-1-5-80-NãoServiços de sistema (service SIDs)Direitos como SeAssignPrimaryTokenPrivilege, SeAuditPrivilege
Dependente do domínioS-1-5-21-<domainSID>-RIDSimGrupos/contas definidas no seu ADEventuais entradas específicas do seu ambiente

Como descobrir o seu Domain SID:

whoami /user
wmic useraccount where "name='%username%'" get name,sid
PowerShell (requer RSAT):
Get-ADDomain | Select -ExpandProperty DomainSID

Se o arquivo veio de outro domínio e contiver alguma linha com S-1-5-21-<algo>-<RID>, substitua a parte do domain SID pela correta do seu ambiente. SIDs bem-conhecidos (S-1-5-32-xxx, S-1-5-80-, S-1-5-82-) devem permanecer como estão.

Opção rápida: restaurar as políticas padrão com dcgpofix

dcgpofix recria a Default Domain Policy (DDP) e/ou a Default Domain Controllers Policy (DDCP) com os artefatos originais, inclusive o GptTmpl.inf.

Comandos úteis:

# Apenas a DDCP (Domain Controllers)
dcgpofix /target:dc

Apenas a DDP (Domain)

dcgpofix /target:domain

As duas políticas padrão

dcgpofix /target:both

(Opcional) Ignorar verificação de schema se houver alerta de incompatibilidade

dcgpofix /ignoreschema /target:dc </code></pre>

<p><strong>Atenção:</strong> toda personalização feita nas políticas padrão será perdida. Faça <em>backup</em> antes:
<pre><code># PowerShell (GPMC instalada)
Backup-GPO -All -Path "D:\Backup\GPOs\Antesdodcgpofix"
</code></pre>
</p>

<h2>Validando que tudo voltou ao normal</h2>
<ol>
  <li>Atualize políticas:
    <pre><code>gpupdate /force</code></pre>
  </li>
  <li>Gere um relatório:
    <pre><code>gpresult /h C:\Temp\Resultado-GPO.html
ou, com GPMC:
Get-GPOReport -Name "Default Domain Controllers Policy" -ReportType Html -Path C:\Temp\DDCP.html

Confira os logs em Event Viewer → Applications and Services Logs → Microsoft → Windows → GroupPolicy → Operational. Não devem existir erros da extensão de “Security Settings”.
Abra a GPMC, selecione a DDCP → aba Settings. As seções de segurança devem estar legíveis, sem o erro “Account Policies security settings are unreadable”.

Modelo mínimo de GptTmpl.inf (para emergências)

Se preferir recriar do zero, comece por um template mínimo e evolua. O arquivo abaixo cobre itens basilares que costumam faltar quando o arquivo some. Use-o apenas como ponto de partida — o ideal é partir do arquivo gerado no domínio‑lab e adaptar:

[Unicode]
Unicode=yes

[Version]
signature="$CHICAGO$"
Revision=1

[Registry Values]
MACHINE\System\CurrentControlSet\Services\NTDS\Parameters\LDAPServerIntegrity=4,1
MACHINE\System\CurrentControlSet\Services\Netlogon\Parameters\RequireSignOrSeal=4,1
MACHINE\System\CurrentControlSet\Services\LanManServer\Parameters\RequireSecuritySignature=4,1
MACHINE\System\CurrentControlSet\Services\LanManServer\Parameters\EnableSecuritySignature=4,1

[Privilege Rights]
SeAssignPrimaryTokenPrivilege = *S-1-5-82-... ; Serviços protegidos
SeAuditPrivilege              = S-1-5-82-..., S-1-5-20, *S-1-5-19
SeBackupPrivilege             = S-1-5-32-549, S-1-5-32-551, *S-1-5-32-544
; (...) inclua as demais entradas iguais às de um DC padrão 

Dica prática: em ambientes corporativos, partir do Security Baseline do Windows Server ou do GptTmpl.inf de um domínio‑lab similar e somente adicionar os SIDs dependentes do seu domínio costuma ser o caminho mais seguro.

Checklist rápido pós‑restauração

  • DDCP abre sem erro na GPMC (aba Settings legível).
  • gpupdate /force conclui em todos os DCs, sem falhas na extensão “Security”.
  • SYSVOL replicado e consistente (sem backlog em dfsrdiag ReplicationState).
  • gpresult ou Get-GPOReport sem erros nas seções de segurança.
  • Sem eventos críticos de GPO em GroupPolicy/Operational nos últimos ciclos.

Boas práticas para não passar por isso de novo

  • Backups recorrentes do SYSVOL e do AD (incluindo estado do sistema). Um snapshot programado resolve desastres de arquivo ausente em minutos.
  • Evite editar o GptTmpl.inf à mão. Sempre que possível, altere direitos e políticas via GPMC ou ferramentas suportadas, garantindo consistência entre o INF e o backing store do GPO.
  • Exportações periódicas de GPO com Backup-GPO (ou via GPMC) para ter um pacote reutilizável em emergências.
  • Controle de mudanças em GPOs: descreva o motivo de cada ajuste e mantenha artefatos em repositório Git/DevOps (relatórios HTML, backups e notas).
  • Monitoramento de replicação: alarme para backlog anormal de DFSR, espaço em disco e latência — corrupção de arquivos em SYSVOL costuma vir acompanhada de problemas de replicação.
  • Padronização entre DCs: aplique o mesmo baseline de segurança e inventário, e evite “configurações manuais” divergentes.

Dúvidas frequentes

Copiar do lab para produção é seguro?
Sim, desde que o lab tenha a mesma versão de Windows Server (ou compatível) e nível funcional. Os SIDs bem‑conhecidos não mudam; apenas ajuste SIDs dependentes do domínio, se existirem.

E se a replicação do SYSVOL estiver quebrada?
Corrija primeiro a replicação (DFSR): verifique conectividade, backlogs, espaço em disco e erros de serviço. Aplicar um GptTmpl.inf novo sem replicação saudável pode deixar DCs com estados divergentes.

O que acontece se um SID estiver errado?
A extensão de segurança pode falhar, ou pior, conceder/negar direitos incorretamente. Sempre confirme o Domain SID e revise as linhas com S-1-5-21-<domainSID>-RID antes de validar em produção.

dcgpofix recria “tudo”?
Ele recria as políticas padrão (DDP e/ou DDCP) no estado original do sistema. Customizações são descartadas. Para preservar ajustes, prefira repor apenas o GptTmpl.inf e revisar as entradas.

Preciso rodar secedit /configure no DC?
Não para o caso usual: ao restaurar o GptTmpl.inf no GPO e forçar gpupdate, a própria extensão de “Security Settings” aplicará o conteúdo. secedit /configure aplica um template localmente, fora do fluxo da GPO — útil para diagnóstico, mas não é obrigatório aqui.

Exemplo de fluxo completo (de ponta a ponta)

  1. Fazer backup das GPOs existentes: Backup-GPO -All -Path "D:\Backup\GPOs\Antes"
  2. Copiar o GptTmpl.inf íntegro (do lab) para a pasta SecEdit da DDCP em produção.
  3. Se necessário, ajustar SIDs dependentes do domínio no arquivo.
  4. Forçar replicação do SYSVOL: dfsrdiag pollad
  5. Atualizar políticas e validar: gpupdate /force gpresult /h C:\Temp\Resultado-GPO.html
  6. Revisar logs do Group Policy (sem erros) e confirmar leitura correta na GPMC.

Notas finais importantes

  • Se a Default Domain Policy também apresentar sintomas, avalie dcgpofix /target:both — sempre com backup prévio.
  • Quando em dúvida, compare a DDCP do seu domínio com a do lab via Get-GPOReport (HTML) e faça um diff dos trechos de “Security Settings”.
  • Siga princípio de mínimo privilégio: se incluir SIDs específicos da organização, justifique e documente o motivo.

Resumo executivo

Quando o GptTmpl.inf da Default Domain Controllers Policy desaparece, a extensão de segurança das GPOs falha e “contamina” a aplicação de políticas no domínio. A correção mais segura é copiar um GptTmpl.inf intacto de um domínio‑lab equivalente, ajustar SIDs dependentes (S-1-5-21-...) caso existam, replicar o SYSVOL e validar com gpupdate/gpresult. Se não houver personalizações a preservar, dcgpofix pode recriar as políticas padrão de forma rápida. Por fim, automatize backups, exporte GPOs e monitore o DFSR para evitar reincidências.


Tip: comece com o arquivo de um domínio‑lab ou com o Security Baseline oficial do Windows Server e adicione apenas os SIDs específicos da sua organização onde for realmente necessário.


Conclusão: seguindo os passos acima, seu domínio volta a aplicar políticas de segurança normalmente, sem inconsistências de SIDs e sem perda desnecessária de configurações. Priorize a rota “laboratório → produção” para preservar o que já funciona e use dcgpofix apenas quando um “retorno ao padrão de fábrica” for aceitável.

Índice