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.
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:
- Repor um
GptTmpl.inf
íntegro — preferencialmente copiando de um domínio-lab “limpo” com a mesma versão de SO e nível funcional. - 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
Passo | O que fazer | Observaçõ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ção | Transfira 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ápida | Use 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ção | Execute 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
- 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. - Abra a pasta da DDCP:
\\lab.local\SYSVOL\lab.local\Policies\{6AC1786C-016F-11D2-945F-00C04FB984F9}\MACHINE\Microsoft\Windows NT\SecEdit
- 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
- 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
- Faça backup do que existir (mesmo que esteja vazio ou corrompido):
robocopy ".\SecEdit" "D:\Backup\DDCPSecEdit<data>" /E /COPYALL /R:0 /W:0
- Copie o
GptTmpl.inf
do lab para essa pasta. Mantenha o nome exato do arquivo. - Force a replicação do SYSVOL (DFSR):
dfsrdiag pollad dfsrdiag ReplicationState
Se ainda usar FRS (não recomendado), verifique ontfrsutl
eeventvwr
. - 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.
Tipo | Prefixo | Depende do domínio? | Exemplos | Presença típica no GptTmpl.inf |
---|---|---|---|---|
Bem‑conhecido | S-1-5-32-* | Não | Administrators, Server Operators, Backup Operators | Lista em [Privilege Rights] , p.ex. SeBackupPrivilege |
Serviço protegido | S-1-5-82- , S-1-5-80- | Não | Serviços de sistema (service SIDs) | Direitos como SeAssignPrimaryTokenPrivilege , SeAuditPrivilege |
Dependente do domínio | S-1-5-21-<domainSID>-RID | Sim | Grupos/contas definidas no seu AD | Eventuais 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
ouGet-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)
- Fazer backup das GPOs existentes:
Backup-GPO -All -Path "D:\Backup\GPOs\Antes"
- Copiar o
GptTmpl.inf
íntegro (do lab) para a pastaSecEdit
da DDCP em produção. - Se necessário, ajustar SIDs dependentes do domínio no arquivo.
- Forçar replicação do SYSVOL:
dfsrdiag pollad
- Atualizar políticas e validar:
gpupdate /force gpresult /h C:\Temp\Resultado-GPO.html
- 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.