Active Directory : comment et pourquoi configurer la synchronisation NTP ?
Sommaire
- I. Présentation
- II. La synchronisation de l'horloge dans un domaine Active Directory
- III. Vérifier la configuration NTP du contrôleur de domaine PDC
- IV. Synchroniser le PDC avec une source NTP externe
- V. La synchronisation NTP des machines du domaine AD
- VI. La réinitialisation de la configuration NTP
- VII. La synchronisation de l'heure sur les VM Hyper-V
- VIII. Conclusion
- FAQ
I. Présentation
La synchronisation de l'horloge en environnement Active Directory est critique pour assurer le bon fonctionnement des mécanismes de sécurité et des différents services. Par exemple, une désynchronisation de la date et de l'heure peut être à l'origine de problèmes d'authentification. Comment bien configurer la synchronisation de la date et l'heure dans un domaine Active Directory ? C'est la principale question à laquelle va répondre ce guide technique.
Cet article évoque les points suivants :
- Le fonctionnement de la synchronisation NTP dans un domaine Active Directory
- La vérification de la configuration du NTP sur le DC Emulateur PDC
- La configuration du NTP sur un contrôleur de domaine
- La configuration du NTP sur les autres machines intégrées dans le domaine
II. La synchronisation de l'horloge dans un domaine Active Directory
Avant d'évoquer la configuration, commençons par nous intéresser au fonctionnement en répondant à cette question : comment fonctionne la synchronisation de l'horloge dans un domaine Active Directory ?
Pour rappel, dans un domaine Active Directory, il y a 5 rôles FSMO détenus par ce que l'on appelle des maîtres d'opération. En effet, le maitre d’opération est le contrôleur de domaine qui détient un ou plusieurs rôles FSMO. Dans le cas de la synchronisation du temps, il y a un rôle FSMO qui va nous intéresser particulièrement : l'Emulateur PDC (PDC Emulator).
Vous devez retenir que, dans un domaine Active Directory, le contrôleur de domaine avec le rôle FSMO d'Emulateur PDC représente la source de temps de référence. Ce serveur Windows Server est considéré comme la meilleure source de temps disponible. Ce qui signifie que :
- Les autres contrôleurs de domaine AD synchronisent leur horloge par l'intermédiaire du serveur PDC.
- Les postes de travail et les serveurs membres synchronisent leur horloge avec n'importe quel contrôleur de domaine du domaine.
La documentation de Microsoft met bien en évidence ce mécanisme de synchronisation basé sur le protocole NTP, que ce soit pour les contrôleurs de domaine, les serveurs membres ou les postes de travail. Ce qui est intéressant dans ce chemin, c'est qu'il montre la synchronisation à l'échelle d'une forêt AD, avec plusieurs sous-domaines. Ainsi, dans le cas d'une architecture multi-domaines, un PDC d'un domaine enfant se synchronise avec le PDC du domaine parent.

La synchronisation de l'horloge (date et heure) au sein d'un domaine Active Directory s'effectue via le protocole NTP (123/UDP). C'est le protocole universel utilisé pour synchroniser la date et l'heure et, sur Windows, il est géré par le service w32time.
III. Vérifier la configuration NTP du contrôleur de domaine PDC
Avant de modifier la configuration du serveur, nous allons déjà auditer la configuration NTP en place sur le serveur PDC.
Tout d'abord, vous pouvez vérifier quel est le contrôleur de domaine Emulateur PDC au sein de votre environnement à l'aide de la commande suivante :
Get-ADDomain | Select-Object PDCEmulator
PDCEmulator
-----------
SRV-ADDS-01.it-connect.local
Ici, nous pouvons voir qu'il s'agit du serveur SRV-ADDS-01.it-connect.local. Vous pouvez aussi utiliser la commande netdom query fsmo.
Si vous vous demandez quelle est la source de temps utilisée par ce serveur, exécutez cette commande sur le serveur PDC :
w32tm /query /source
Cette commande peut retourner l'adresse d'un serveur NTP ou tout simplement la valeur suivante : Local CMOS Clock. Cette valeur signifie que la machine locale est source d'elle-même, donc si une désynchronisation a lieu, elle ne sera pas "rattrapée" par une synchronisation.
Par conséquent, dans les journaux système de ce serveur, vous devriez voir l'événement avec l'ID 12 associé à la source Time-Service.
Ce message précise : "Fournisseur de temps NtpClient : cet ordinateur est configuré pour utiliser la hiérarchie du domaine pour déterminer sa source de temps, mais il s’agit de l’émulateur du contrôleur principal du domaine Active Directory à la racine de la forêt et il n’existe donc pas d’ordinateur à utiliser au-dessus dans la hiérarchie du domaine en tant que source de temps. Il est recommandé de configurer un service de temps fiable dans le domaine racine ou de configurer manuellement le contrôleur principal de domaine Active Directory pour une synchronisation avec une source de temps externe. Dans le cas contraire, l’ordinateur fonctionne en tant que source de temps d’autorité dans la hiérarchie du domaine. Si une source externe de temps n’est pas configurée ni utilisée pour cet ordinateur, vous pouvez choisir de désactiver NtpClient."

Toujours à l'aide de la ligne de commande et de l'outil w32tm, nous allons tester la connexion avec notre future source de temps. J'ai l'habitude d'utiliser les serveurs NTP français du NTP Pool Project. La zone FR contient 350 serveurs (IPv4 + IPv6) regroupés derrière 4 pools de serveurs : 0.fr.pool.ntp.org, 1.fr.pool.ntp.org, 2.fr.pool.ntp.org et 3.fr.pool.ntp.org.
Pour commencer, lancez simplement cette commande pour vérifier que votre serveur parvient à se connecter en NTP (123/UDP) sur notre future source de temps :
w32tm /stripchart /computer:0.fr.pool.ntp.org
Si vous avez une erreur, vérifiez la configuration de votre pare-feu local ou périmétrique. Si tout est OK, vous devriez avoir un résultat similaire à celui-ci :
Suivi de 0.fr.pool.ntp.org [79.143.250.33:123].
L’heure actuelle est 25/11/2025 15:41:43.
15:41:43, d:+00.0305614s o:+01.2504315s [ | * ]
15:41:45, d:+00.0318517s o:+01.2498409s [ | * ]
15:41:47, d:+00.0323094s o:+01.2497454s [ | * ]
15:41:49, d:+00.0307370s o:+01.2503481s [ | * ]
Note : chaque ligne de la sortie de la commande précédente indique le décalage de votre horloge serveur par rapport à celle du serveur du pool NTP.
Passez à la configuration.
IV. Synchroniser le PDC avec une source NTP externe
Place à la configuration, toujours à l'aide de w32tm qui est l'outil principal pour gérer le client NTP de Windows et Windows Server.
La commande ci-dessous configure le service w32time pour qu'il utilise exclusivement une liste de serveurs NTP précis (ici, ceux du pool français) afin de synchroniser l’horloge du système. L'ordre dans la liste a une importance. Vous remarquerez que chaque serveur est suivi du flag ,0x8, qui indique une utilisation en mode client NTP (le mode standard pour interroger un serveur public).
w32tm /config /manualpeerlist:"0.fr.pool.ntp.org,0x8 1.fr.pool.ntp.org,0x8 2.fr.pool.ntp.org,0x8" /syncfromflags:manual /update
Cette commande doit retourner le message La commande s’est terminée correctement..
Note : vous pouvez sélectionner d'autres serveurs de temps en tant que source, en adaptant cet exemple à votre contexte.
En complément, et puisque nous sommes sur le contrôleur de domaine PDC, nous allons exécuter une commande supplémentaire pour qu'il s'affirme comme une source de temps fiable. Cette commande est à éviter sur un simple poste de travail ou un serveur qui ne fait pas office de référence pour les autres.
w32tm /config /reliable:yes
Si vous n'avez pas intégré /update à la commande de configuration, vous devez le faire maintenant (rien ne vous empêche de lancer cette commande en complément) :
w32tm /config /update
Ensuite, lancez la commande w32tm /query /status et vous devriez voir votre nouvelle configuration comme serveur NTP comme source. De plus, cette commande affiche l'heure de la dernière synchronisation réussie, ce qui permet de valider la configuration.
Indicateur de dérive : 0(Aucun avertissement)
Couche : 3 (Référence secondaire, synchronisée par (S)NTP)
Précision : -23 (119.209ns par battement)
Délai de racine : 0.0208881s
Dispersion de racine : 0.0965676s
ID de référence : 0x6DBEB1C8 (IP de la source : 109.190.177.200)
Heure de la dernière synchronisation réussie : 25/11/2025 15:59:00
Source : 0.fr.pool.ntp.org,0x8,
Intervalle d’interrogation : 7 (128s)
Vous remarquerez que la commande précédente n'affiche pas tous les serveurs NTP configurés. Pour avoir le détail complet, lancez la commande suivante et regardez le champ NtpServer :
w32tm /query /configuration
Il doit afficher :
Type: NTP (Locale)
NtpServer: 0.fr.pool.ntp.org,0x8, 1.fr.pool.ntp.org,0x8 2.fr.pool.ntp.org,0x8 (Locale)
Enfin, vous pouvez visualiser les journaux système du serveur, en filtrant sur la source "Time-Service", pour constater que votre serveur se synchronise bien avec les nouvelles sources.

V. La synchronisation NTP des machines du domaine AD
Quelle configuration NTP appliquer aux serveurs membres et aux postes de travail du domaine Active Directory ? Pour répondre à cette question, nous allons - encore - utiliser l'outil w32tm sur une machine intégrée au domaine. Puis, lancez simplement la commande suivante :
w32tm /query /configuration
Vous devriez voir la ligne : Type: NT5DS (Locale).
Le fournisseur de temps est de type NT5DS, car la machine se synchronise auprès de la source de temps qui fait autorité sur votre domaine Active Directory. Donc... le serveur avec le rôle d'Emulateur PDC.
Maintenant, si vous affichez la source, le nom d'un contrôleur de domaine devrait apparaître.
w32tm /query /source
SRV-ADDS-01.it-connect.local
Même si le nom de l'Emulateur PDC est retourné ici, ce n'est pas obligatoire. En réalité, la machine (serveur membre ou poste de travail) devrait se synchroniser depuis le contrôleur de domaine le plus proche (d'un point de vue de la configuration des sites Active Directory), ce qui doit correspondre à son Logon Server sur l'instant. Attention, si c'est un contrôleur de domaine, cette valeur doit obligatoirement pointer vers l'Emulateur PDC.

Nous pouvons donc affirmer que les machines du domaine vont, d'elles-mêmes, se synchroniser auprès des contrôleurs de domaine.
w32tm /resync
VI. La réinitialisation de la configuration NTP
Dans certains cas, une machine du domaine peut rester bloquée sur Local CMOS Clock, refuser la synchronisation (w32tm /resync) ou conserver une configuration NTP personnalisée qui n’a plus lieu d’être. Pour revenir au fonctionnement normal attendu dans un domaine Active Directory, il est possible de réinitialiser complètement la configuration du service w32time.
L’objectif est de repartir sur une configuration propre et d'obtenir le mode NT5DS, qui fait que la machine se synchronise automatiquement en respectant la hiérarchie Active Directory.
Voici la séquence complète de commandes à exécuter pour effectuer la réinitialisation :
net stop w32time
w32tm /unregister
w32tm /register
net start w32time
w32tm /config /syncfromflags:DOMHIER /update
net stop w32time
net start w32time
Ces commandes vont effectuer les actions suivantes (dans l'ordre) :
- Arrêter le service de gestion du temps
- Supprimer la configuration actuelle du service, ainsi que son entrée dans le registre.
- Réinstaller et recréer la configuration par défaut du service dans le registre.
- Démarre le service nouvellement créé.
- Restaurer le mode de synchronisation natif du domaine Active Directory (NT5DS).
- Permet d’appliquer proprement la configuration (arrêter et démarrer le service)
VII. La synchronisation de l'heure sur les VM Hyper-V
Pour terminer, je souhaitais attirer votre attention sur une option présente dans les paramètres des machines virtuelles Hyper-V. Il s'agit de l'option "Synchronisation date/heure" visible dans les paramètres des services d'intégration. Lorsqu'elle est activée, la machine virtuelle va synchroniser son horloge avec le serveur Hyper-V, plutôt qu'avec une autre source de temps.
Je vous recommande de désactiver cette option sur toutes les machines intégrées à un domaine Active Directory, y compris sur les contrôleurs de domaine.

Si une machine se synchronise avec le serveur Hyper-V, la source de temps renvoyée par la commande w32tm sera VM IC Time Synchronization Provider.
VIII. Conclusion
Grâce à ce guide complet sur la synchronisation NTP dans un domaine AD, vous devriez être en mesure de vérifier la configuration en place sur un environnement, et si besoin, d'ajuster la configuration.
Si vous avez une question, vous pouvez laisser un commentaire sur cet article. Pour approfondir le sujet :
- Qu’est-ce que le protocole NTP ?
- Comment changer le serveur NTP sur Windows 11 ?
- Comment configurer le NTP sous Windows Server ?
FAQ
Le PDC Emulator doit-il obligatoirement utiliser un serveur NTP externe ?
Oui, dans la majorité des environnements, mais la règle c'est surtout d'utiliser une source fiable pour la synchronisation NTP. Le PDC Emulator est la racine de la hiérarchie AD pour la synchronisation de l'horloge, le choix est donc important.
Pourquoi utiliser la commande "/reliable:yes" sur le PDC Emulator ?
Pour déclarer le contrôleur comme source de temps fiable au niveau du domaine Active Directory. Le serveur va s'annoncer sur le réseau comme une source de temps NTP. Cela peut notamment se traduire par un événement avec l'ID 139 où l'on peut lire le texte suivant : "Le service de temps a commencé à s’annoncer comme source temporelle."
Sous Windows, comment forcer une synchronisation NTP ?
À partir de la ligne de commande, vous pouvez forcer une synchronisation avec la source de temps configurée via la commande suivante : w32tm /resync.
Comment vérifier qu’un poste Windows se synchronise bien avec son contrôleur de domaine ?
En exécutant w32tm /query /source. Si la machine est correctement intégrée au domaine et a déjà contacté un DC, le nom de ce contrôleur apparaîtra. Si c'est une poste de travail ou un serveur membre, le serveur contacté pour la synchronisation NTP sera un contrôleur de domaine (le plus proche, vis-à-vis de la configuration des sites).
Quelle différence entre les modes NTP et NT5DS ?
Le mode NTP interroge des serveurs définis manuellement, alors que NT5DS utilise automatiquement la hiérarchie Active Directory. Les postes d’un domaine doivent utiliser NT5DS, sauf cas particuliers.
Pourquoi Windows peut afficher "VM IC Time Provider" comme source NTP ?
Sur une machine virtuelle, l’hyperviseur peut fournir une synchronisation NTP à l'invité, c'est-à-dire à la machine virtuelle.
Comment afficher la date et l’heure de la dernière synchronisation NTP réussie ?
Avec w32tm /query /status, en regardant la ligne "Heure de la dernière synchronisation réussie" ("Last Successful Sync Time").
Où consulter les événements liés au service de temps Windows ?
Dans l’Observateur d’événements, à cet endroit : Journaux Windows > Système, puis ajoutez un filtre sur la source "Time-Service".
Une différence d’horloge peut-elle réellement perturber un domaine AD ?
Oui, une désynchronisation de l'horloge entre les machines d'un domaine Active Directory peut perturber l'authentification Kerberos et la réplication Active Directory.
Kerberos repose sur des horodatages et exige que les machines du réseau disposent d’une heure suffisamment proche les unes des autres. Cette synchronisation sert notamment à limiter les risques d’attaques par rejeu, car l'horodatage est lié aux tickets Kerberos. D'après la RFC 4120, correspondante à Kerberos V5, le protocole autorise un léger décalage (de l'ordre de 5 minutes).

En suivant le tuto à la lettre je ne comprends pas mais ça ne fonctionne pas sur mon serveur Windows 2025. Tout se passe comme indiqué dans le tuto mais au dernier w32tm /query /status, j’ai Source : Local CMOS Clock.
J’ai fais la partie de réinitialisation et recommencé mais le résultat est le même.
Bonjour,
Quand tu exécutes
w32tm /query /configuration, tu as quoi comme NtpServer ? Regarde aussi l’Observateur d’événements. La source peut mettre un peu de temps à changer dans le résultat de/status, dans ce cas tu peux reforcer une synchronisation.J’ai ça:
NtpServer (Locale)
DllName: C:\WINDOWS\SYSTEM32\w32time.DLL (Locale)
Enabled: 1 (Locale)
InputProvider: 0 (Locale)
AllowNonstandardModeCombinations: 1 (Locale)
Rien n’a changé. Lorsque je clic droit sur l’heure et régler la date et l’heure, j’ai un message « Certains de ces paramètres sont gérés par votre organisation », et Définir le fuseau et l’heure automatiquement sont grisés. Est-ce qu’une GPO serait active ? Je vais investiguer quand j’aurais un peu de temps.
Hello Semias,
Ton serveur est-il virtuel ?
Dans ce cas il pourrai s’agir d’une synchronisation via l’hyperviseur.
Il faudrait vérifier ton journal de log SYSTEM : source « Time-Service » pour verifier si les commandes sont bien exécutées par le système.
Bonjour
Il peut parfois avoir des re affectation de rôle fsmo au niveau des contrôleurs de domaine. Dans ce cas, les DCs doivent avoir une mise a jour de la configuration de temps.
Un script powershell permet de créer deux GPO et en fonction de leur rôle, soit activer ntp (PDC emulateur), soit NT5Ds (autres DCs)
https://github.com/jeremyts/ActiveDirectoryDomainServices/blob/master/Remediation/CreateTimeServerGPOs.ps1
Super article, merci beaucoup !
Pour ceux qui auraient des soucis de synchronisation même après avoir suivi ce tuto, vérifiez bien si vos pare-feu ne bloquent pas vos flux.
Et si vos VM ont plusieurs cartes réseaux, assurez-vous bien de savoir par quel carte votre flux NTP circule !