GptTmpl.inf manquant Default Domain Controllers Policy : toutes les méthodes pour restaurer le fichier GPO

Dans certains environnements Active Directory anciens, il arrive que le fichier GptTmpl.inf disparaisse de la stratégie Default Domain Controllers Policy. Cet article explique en détail pourquoi ce fichier est essentiel, comment diagnostiquer son absence et les différentes méthodes pour le régénérer sans compromettre la sécurité ni les personnalisations existantes.

Sommaire

Vue d’ensemble du problème

Le fichier GptTmpl.inf fait partie intégrante de l’architecture des stratégies de groupe : il stocke les paramètres de sécurité (droits utilisateurs, ACL registres, politiques d’audit, etc.) applicables au contexte MACHINE. Sur un domaine initialisé en 2005 mais passé au niveau fonctionnel 2016 avec des contrôleurs sous Windows Server 2019, vous constatez :

  • Le fichier a pu être régénéré sans risque pour la Default Domain Policy.
  • Le même fichier manque pour la Default Domain Controllers Policy (DDCP) et contient normalement de nombreux SIDs propres au domaine.
  • L’outil natif dcgpofix n’a pas recréé le fichier comme prévu.

Pourquoi le fichier GptTmpl.inf est indispensable

Ce template est chargé lors du traitement des GPO sur chaque contrôleur de domaine. Sans lui :

  • Les contrôleurs ne reçoivent plus la configuration de sécurité attendue.
  • Des évènements 1202 et 1000 apparaissent dans le journal Event Viewer > System > GroupPolicy (Windows).
  • La conformité CIS/CISA ou ISO 27001 basée sur des GPOs devient invalide.
  • Vous risquez d’hériter de droits trop permissifs (ou trop restrictifs) si d’autres GPOs complémentaires prennent le relais.

En clair, rétablir GptTmpl.inf n’est pas une opération cosmétique ; c’est un pré‑requis pour maintenir l’intégrité de la security policy de votre infrastructure AD.

Identifier l’absence ou la corruption du fichier

Plusieurs méthodes permettent de confirmer que le template est absent ou endommagé :

  1. Parcourir le dossier SYSVOL :
    \\<domaine>\SYSVOL\<domaine>\Policies\{6AC1786C‑016F‑11D2‑945F‑00C04FB984F9}\MACHINE\Microsoft\Windows NT\SecEdit\
  2. Exécuter gpresult /h report.html puis ouvrir le rapport ; si la section Paramètres de sécurité – modèle est vide, le fichier manque.
  3. Vérifier l’Event Viewer :
    – Source : SceCli, ID 1202 « Security policies were propagated with errors ».
    – Source : GroupPolicy, ID 1058 « The processing of Group Policy failed ».

Solutions détaillées pas à pas

AxeDétails de la solutionPoints d’attention
Copie depuis un laboratoire propreMonter un contrôleur de domaine de test (même version/NF), récupérer le fichier GptTmpl.inf situé dans SYSVOL sous le même ID GPO, puis le copier dans le domaine de production.Contrôler chaque SID :
– S‑1‑5‑32‑* : groupes intégrés, à conserver.
– S‑1‑5‑20, S‑1‑5‑19, S‑1‑5‑80, S‑1‑5‑82 : services connus.
– S‑1‑5‑21‑<DomainIdentifier>-RID : remplacer le DomainIdentifier par celui du domaine de production (powershell (Get-ADDomain).DomainSID). Signer le fichier avec un hachage MD5/SHA256 pour prouver son intégrité si votre politique de changement l’exige.
Réinitialisation avec dcgpofixdcgpofix /target:dc recrée entièrement la Default Domain Controllers Policy, y compris GptTmpl.inf.Cette commande supprime toute personnalisation antérieure (scripts, préférences, filtres WMI, délégations). Exporter la GPO via GPMC : Clic droit > Sauvegarder avant l’exécution. Cette opération doit être lancée sur un DC à jour et hors plage de sauvegarde applicative ; idéalement dans un créneau de maintenance.
Création d’un template minimalGénérer un fichier vide puis l’appliquer avec secedit :
[Unicode] Unicode=yes [Version] signature="$CHICAGO$" Revision=1
Ne rétablit que le squelette du fichier ; aucun droit utilisateur n’est défini. À combiner ensuite avec un import de paramètres détaillés (SecurityTemplates.msc ou LGPO.exe).
Restauration depuis une sauvegarde d’état systèmeExtraire SYSVOL depuis la sauvegarde ou effectuer une restauration autoritative du dossier Policies via ntdsutil.Option la plus fiable pour conserver les SID d’origine. Suppose une sauvegarde récente et valide de l’état système d’un DC. Nécessite un redémarrage en mode restauration AD ; planifier une interruption de service.

Choisir la bonne approche

Dans la majorité des cas, la restauration par dcgpofix suffit car Microsoft publie par défaut un modèle sécurisé conforme aux recommandations baselines. Toutefois, si votre DDCP contient des restrictions (par ex. désactivation de NTLM ou privilèges spécifiques pour les comptes service), copiez depuis un labo ou restaurez une sauvegarde pour éviter toute dérive de configuration.

Étapes de validation

  1. Forcer l’actualisation des stratégies :
    gpupdate /force
  2. Lancer rsop.msc sur un contrôleur de domaine pour vérifier la présence de tous les paramètres de sécurité.
  3. Surveiller le journal SceCli pendant 2 cycles de rafraîchissement (90 mn par défaut, ou 5 mn après un redémarrage).
  4. Exécuter dcdiag /test:frssysvol et repadmin /replsummary pour s’assurer que DFS-R ou FRS a bien propagé le nouveau fichier.

Bonnes pratiques pour prévenir la perte de GptTmpl.inf

  • Automatiser l’exportation GPO : un script Backup-Gpo -All -Path \\NAS\GPO_Backups lancé via Task Scheduler offre un point de restauration rapide.
  • Surveiller l’intégrité SYSVOL : utiliser File Integrity Monitoring (FIM) pour recevoir une alerte dès qu’un fichier clé est supprimé ou modifié.
  • Limiter les droits GPMC : seules les équipes AD dédiées devraient avoir Edit Settings ou Edit security.
  • Tester les GPOs : avant changement massif, importer dans un domaine de pré‑production et valider gpresult.
  • Mettre en place une stratégie de patch management cohérente pour vos DCs afin d’éviter les corruptions liées à un redémarrage forcé ou une mise à jour incomplète.

FAQ

Pourquoi dpogpfix ne fonctionne ‑t‑il pas ?

C’est une faute de frappe courante ; la commande correcte est dcgpofix. Il n’existe aucun exécutable nommé dpogpfix sur Windows Server.

Que faire si dcgpofix échoue avec « Access is denied » ?

Exécutez‑le depuis une console PowerShell ouverte en Elevated Administrator et vérifiez que votre compte est membre du groupe Domain Admins. Sur un contrôleur hors ligne, ajoutez‑vous temporairement au groupe Enterprise Admins.

Le fichier GptTmpl.inf peut‑il être entièrement vide ?

Oui, mais cela revient à désactiver tous les paramétrages de sécurité de la GPO, laissant le contrôleur exposé. Utilisez cette option uniquement comme étape intermédiaire avant d’importer un modèle complet.

Conclusion

Bien que la disparition d’un GptTmpl.inf semble anecdotique, elle affecte directement la posture de sécurité de vos contrôleurs de domaine. Les méthodes présentées—réinitialisation, copie depuis un laboratoire, création minimale ou restauration d’une sauvegarde—permettent de rétablir rapidement la situation. Documentez chaque étape, conservez des exports réguliers de vos GPOs et surveillez la réplication SYSVOL : votre environnement AD restera ainsi conforme et résilient.

Sommaire