Configuration du NTP sous Windows Server avec w32tm
Sommaire
I. Présentation
Ce tutoriel explique comment configurer le service NTP sous Windows Server 2025, Windows Server 2022 et les versions antérieures. Il explique comment effectuer la configuration en ligne de commande à l’aide de w32tm, la commande de référence pour la configuration du NTP sous Windows.
Rappelons quelques règles pour la synchronisation NTP des machines Windows Server :
- Si le serveur est un contrôleur de domaine Active Directory avec le rôle Emulateur PDC, il doit se synchroniser vers une source externe (manuel)
- Si le serveur est un contrôleur de domaine Active Directory (non PDC), il doit se synchroniser sur le serveur Emulateur PDC (automatique)
- Si le serveur est un serveur membre du domaine Active Directory, il doit se synchroniser sur un contrôleur de domaine (automatique)
- Si le serveur est dans un groupe de travail, il est judicieux de déterminer une source de temps fiable (manuel)
Le premier scénario évoqué dans cette liste sera abordé dans un article dédié. Ici, nous aborderons le dernier point : la nécessité de configurer manuellement Windows Server pour préciser une source de temps à utiliser comme référence pour synchroniser l’horloge Windows.
Note : pour rappel, le protocole NTP est utilisé pour la synchronisation de l’horloge. Ce protocole utilise le port 123 via UDP.
Version originale de l’article : 10 février 2014
II. Configurer le service NTP
Sur Windows Server (et Windows), la synchronisation de l’horloge dépend d’un service nommé “Temps Windows“, associé au nom technique “w32time“. Sa configuration s’effectue par l’intermédiaire de la ligne de commande via un outil nommé w32tm. Il contient l’ensemble des options nécessaires pour consulter et modifier la configuration, et diagnostiquer un éventuel problème de fonctionnement du service.
A. Afficher le statut du Temps Windows
Vous pouvez afficher l’état du service Temps Windows, de façon succincte, via cette commande :
Il retourne une sortie similaire à celle-ci :
La première ligne fournit déjà une information importante : . Le service de temps n’est pas synchronisé avec une source fiable. Cela se confirme avec la valeur indiquée comme source : . Cette valeur est précisée lorsque le serveur local synchronise son horloge par l’intermédiaire de l’hyperviseur (ici, Hyper-V), ce qui est confirmé aussi par la valeur . C’est une fonctionnalité offerte aux invités par certains hyperviseurs, dont Hyper-V qui active ce paramètre par défaut (voir ci-après).
Par ailleurs, la ligne indique la date et l’heure de la dernière synchronisation de l’horloge réussie sur cette machine.
Pour obtenir la configuration détaillée et complète du service w32time, vous devez utiliser cette commande :
Voici un exemple (partiel) :

B. Configurer manuellement le NTP
Notre objectif désormais sera de spécifier une source de temps fiable que notre serveur doit utiliser. Nous pouvons utiliser une source externe, comme le pool de serveurs ou un autre serveur de confiance, comme un contrôleur de domaine Active Directory (utile sur un serveur en groupe de travail).
Ici, notre objectif sera de spécifier le serveur NTP suivant : srv-adds-01.it-connect.local.
Voici la marche à suivre pour effectuer la configuration manuellement sur un serveur.
Arrêtez le service :
Définissez le serveur NTP à utiliser pour la synchronisation :
w32tm /config /manualpeerlist:"srv-adds-01.it-connect.local,0x8" /syncfromflags:manual
Vous remarquerez que chaque serveur est suivi du flag , qui indique une utilisation en mode client NTP.
Démarrez le service NTP :
Consultez la source de synchronisation avec la commande précisée ci-dessous. Vous pouvez répéter l’opération plusieurs fois, car, en principe, la valeur va changer d’un moment à un autre.
Voici un exemple parlant :

Dans le cas où vous souhaitez préciser plusieurs sources, vous devez ajuster la valeur de l’option . Voici un exemple avec deux sources : un serveur local et une source externe de confiance.
w32tm /config /manualpeerlist:"srv-adds-01.it-connect.local,0x8, 1.fr.pool.ntp.org,0x8" /syncfromflags:manual
Le paramètre a son importance car il force le service de Temps Windows à se synchroniser via les serveurs spécifiés au niveau du paramètre .
Tout en sachant que le paramètre peut avoir plusieurs valeurs :
- MANUAL : synchroniser à partir de la liste définie manuellement.
- DOMHIER : synchroniser à partir d’un contrôleur de domaine Active Directory
- NO : synchroniser à partir d’aucune des sources
- ALL : synchroniser à partir du domaine et des entrées manuelles
En environnement professionnel, j’ai toujours utilisé les modes MANUAL et DOMHIER.
La configuration du service NTP via la commande w32tm peut s’arrêter à cela et ce sera fonctionnel. Les parties suivantes sont là en supplément.
C. Vérifier la configuration NTP dans le registre
Si vous souhaitez vérifier dans le registre que votre liste de serveur(s) NTP est prise en charge, parcourez-le jusqu’à la clé suivante :
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32Time
Pour visualiser le serveur NTP configuré, descendez dans l’arborescence jusqu’à cet emplacement :
Voici un exemple :

D. Mode debug
Le mode debug peut être utile si vous rencontrez des problèmes de synchronisation ou si vous souhaitez analyser en détail le fonctionnement du service de temps. Voici la commande pour l’activer, ainsi que celle pour le désactiver ensuite :
w32tm /debug /enable /file:C:w32time.log /entries:0-300 /size:20971220
Quelques explications au sujet de cette commande :
- permet de définir le fichier journal dans lequel les informations de debug seront enregistrées.
- indique que l’on souhaite capturer l’ensemble des catégories d’événements (0 à 300), ce qui permet d’obtenir un journal complet.
- définit la taille maximale du fichier de log, en octets. Ici, environ 20 Mo.
Pour désactiver le mode debug :
w32tm /debug /disable

E. Forcer la synchronisation
Pour exécuter une synchronisation immédiate manuellement, exécutez la commande suivante :
w32tm /resync

F. La synchronisation NTP avec les machines virtuelles
Certains hyperviseurs, comme Hyper-V, intègrent une option pour fournir l’heure aux invités (machines virtuelles) via un service dédié. C’est le cas des machines virtuelles Hyper-V où l’option “Synchronisation date/heure” visible dans les paramètres des services d’intégration est activée par défaut. Ainsi, 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.

Sur une machine où l’option est activée, si vous consultez le statut du service Temps Windows, vous verrez que la commande w32tm retourne cette valeur : .
G. Reset du service NTP de Windows
Si vous ne parvenez pas à mettre en place votre configuration, vous pouvez réinitialiser le service NTP de Windows. Cela va permettre de repartir sur une base saine, avec une nouvelle configuration.
Voici la séquence complète de commandes à exécuter dans le contexte de cet article pour effectuer la réinitialisation :
Ces commandes vont effectuer les actions suivantes (dans l’ordre) :
- Permet d’appliquer proprement la configuration (arrêter et démarrer le service)
- 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 en mode manuel avec le serveur NTP personnalisé.
- Arrêter et démarrer le service NTP (recharger la configuration).
III. Récapitulatif des commandes w32tm
Pour terminer, voici une cheat sheet w32tm sous la forme d’un tableau récapitulatif qui regroupe les commandes évoquées dans cet article et quelques bonus.
| Commande | Fonction / Description |
|---|---|
| Afficher l’état de la synchronisation (source, décalage, précision…). | |
| Afficher la source de temps actuelle (NTP, Hyper-V, Local CMOS…). | |
| Montrer toute la configuration du service Temps Windows | |
| Lister les serveurs NTP configurés et leur état. | |
| Tester la connectivité entre votre machine et un autre serveur (et voir l’écart de synchronisation). | |
| Configurer un serveur NTP externe. | |
| Revenir à la hiérarchie Active Directory pour la synchronisation. | |
| Déclarer la machine comme source de temps fiable (à utiliser sur le contrôleur de domaine Emulateur PDC). Ne fonctionne pas sur les serveurs qui ne sont pas DC. | |
| Forcer une resynchronisation immédiate avec la source actuelle. | |
| Forcer la synchronisation même si Windows pense que tout est OK. | |
| / | Arrêter / démarrer le service w32time. |
| Active le mode debug complet (log détaillé). | |
| Désactive le mode debug. |
Pour encore plus d’options, consultez l’aide de la commande w32tm.
IV. Conclusion
Suite à la lecture de cet article, vous devriez être en mesure de configurer le service NTP de Windows Server grâce à l’arsenal d’options intégré à la commande w32tm.
Sur Windows 11, la configuration est également possible avec w32tm ou en passant par l’interface graphique. Ce tutoriel aborde le sujet :
FAQ
Pourquoi configurer le service NTP sous Windows Server ?
La synchronisation de l’horloge est importante pour les journaux de Windows Server, notamment les journaux d’audit liés à la sécurité, car cela permet d’avoir une temporalité précise et réelle au niveau des événements. C’est d’autant plus important si un rapprochement doit être fait entre les journaux de plusieurs serveurs. De plus, c’est essentiel pour l’authentification avec le protocole Kerberos et le bon fonctionnement d’un Active Directory d’une façon générale.
Quels serveurs NTP publics sont recommandés en France ?
Vous pouvez utiliser les pools de serveurs français comme , , etc. C’est une source fiable avec plusieurs centaines de serveurs, cela permet d’utiliser des serveurs proches d’un point de vue géographique. Il y a probablement d’autres sources recommandables.
Puis-je synchroniser les serveurs membres du domaine sur une source NTP externe ?
Oui, mais la bonne pratique en environnement Active Directory est que seul le contrôleur de domaine avec le rôle Emulateur PDC interroge la source externe, puis qu’il soit utilisé comme référence par les autres serveurs internes. Un serveur membre pourra solliciter n’importe quel contrôleur de domaine pour synchroniser son horloge.
Faut-il utiliser un serveur NTP interne dans les grandes organisations ?
Oui. Microsoft recommande, pour les environnements distribués (multi-sites), d’utiliser un serveur NTP interne centralisé. Cela réduit la latence, évite la dépendance Internet et homogénéise la synchronisation de l’horloge entre les machines situées sur des sites distants.
Comment vérifier l’état du service de temps Windows ?
Exécutez la commande pour obtenir le statut global du service Temps Windows. Cette commande retourne quelques informations pertinentes comme la source de synchronisation, le décalage, etc.