tuto windows server ntp w32tm
  • 26 novembre 2025
  • ComputaSYS
  • 0


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 :

w32tm /query /status

Il retourne une sortie similaire à celle-ci :

Indicateur de dérive : 3(Non synchronisé)
Couche : 1 (Référence principale, synchronisée par l’horloge du réveil)
Précision : -23 (119.209ns par battement)
Délai de racine : 0.0388978s
Dispersion de racine : 0.0100002s
ID de référence : 0x564D5450 (Nom de la source : “VMTP”)
Heure de la dernière synchronisation réussie : 25/11/2025 19:38:34
Source : VM IC Time Synchronization Provider
Intervalle d’interrogation : 6 (64s)

La première ligne fournit déjà une information importante : Indicateur de dérive : 3(Non synchronisé). Le service de temps n’est pas synchronisé avec une source fiable. Cela se confirme avec la valeur indiquée comme source : Source : VM IC Time Synchronization Provider. 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 VMTP. 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 Heure de la dernière synchronisation réussie 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 :

w32tm /query /configuration

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 0.fr.pool.ntp.org 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 :

net stop w32time
# PowerShell :
Stop-Service w32time

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 ,0x8, qui indique une utilisation en mode client NTP.

Démarrez le service NTP :

net start w32time
# PowerShell :
Start-Service w32time

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.

w32tm /query /source

Voici un exemple parlant :

Dans le cas où vous souhaitez préciser plusieurs sources, vous devez ajuster la valeur de l’option /manualpeerlist. 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 /syncfromflags:manual a son importance car il force le service de Temps Windows à se synchroniser via les serveurs spécifiés au niveau du paramètre /manualpeerlist.

Tout en sachant que le paramètre /syncfromflags:manual 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_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\

Pour visualiser le serveur NTP configuré, descendez dans l’arborescence jusqu’à cet emplacement :

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters

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 :

/file permet de définir le fichier journal dans lequel les informations de debug seront enregistrées.

/entries:0-300 indique que l’on souhaite capturer l’ensemble des catégories d’événements (0 à 300), ce qui permet d’obtenir un journal complet.

/size 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 : VM IC Time Synchronization Provider.

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 :

net stop w32time
w32tm /unregister
w32tm /register
net start w32time
w32tm /config /manualpeerlist:”srv-adds-01.it-connect.local,0x8″ /syncfromflags:manual /update
net stop w32time
net start w32time

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.

CommandeFonction / Descriptionw32tm /query /statusAfficher l’état de la synchronisation (source, décalage, précision…).w32tm /query /sourceAfficher la source de temps actuelle (NTP, Hyper-V, Local CMOS…).w32tm /query /configurationMontrer toute la configuration du service Temps Windowsw32tm /query /peersLister les serveurs NTP configurés et leur état.w32tm /stripchart /computer:0.fr.pool.ntp.orgTester la connectivité entre votre machine et un autre serveur (et voir l’écart de synchronisation).w32tm /config /manualpeerlist:”0.fr.pool.ntp.org,0x8″ /syncfromflags:manualConfigurer un serveur NTP externe.w32tm /config /syncfromflags:domhier /updateRevenir à la hiérarchie Active Directory pour la synchronisation.w32tm /config /reliable:yes /updateDé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.w32tm /resyncForcer une resynchronisation immédiate avec la source actuelle.w32tm /resync /forceForcer la synchronisation même si Windows pense que tout est OK.net stop w32time / net start w32timeArrêter / démarrer le service w32time.w32tm /debug /enable /file:C:\w32time.log /entries:0-300 /size:20971220Active le mode debug complet (log détaillé).w32tm /debug /disableDé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 0.fr.pool.ntp.org, 1.fr.pool.ntp.org, 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 w32tm /query /status pour obtenir le statut global du service Temps Windows. Cette commande retourne quelques informations pertinentes comme la source de synchronisation, le décalage, etc.

Ingénieur système et réseau, cofondateur d’IT-Connect et Microsoft MVP “Cloud and Datacenter Management”. Je souhaite partager mon expérience et mes découvertes au travers de mes articles. Généraliste avec une attirance particulière pour les solutions Microsoft et le scripting. Bonne lecture.



Source link

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *