13 octobre 2026

Déployer un serveur NTP sous Windows Server 2022 avec PowerShell

Déployer un serveur NTP sous Windows Server 2022 avec PowerShellwindows
Photo: Ata Ebem / Pexels
🖥️ Illustration
PowerShell – Configuration NTP
PS C:\> Get-Service w32time
Status Name DisplayName
—— —- ———–
Running w32time Windows Time
PS C:\> Set-ItemProperty -Path « HKLM:\SYSTEM\CurrentControlSet\Services\W32Time\Parameters » -Name « Type » -Value « NTP »
PS C:\> w32tm /config /manualpeerlist: »0.pool.ntp.org,1.pool.ntp.org » /syncfromflags:MANUAL /reliable:YES /update
The command completed successfully.
PS C:\> Restart-Service w32time -Force
[…]
PS C:\> w32tm /resync /nowait
The command completed successfully.
PS C:\> w32tm /query /status
Source: .
Stratum: 2
Precision: -23 (-119.209 ns per tick)

Contexte 📅

Dans un environnement d’entreprise, la synchronisation précise de l’heure entre les serveurs, les postes de travail et les équipements réseau est cruciale pour la sécurité (authentification Kerberos), la cohérence des logs et le bon fonctionnement des services. Windows Server possède un service NTP intégré (W32Time) qui peut être configuré comme serveur de temps autoritaire.

serveur NTP windowswindows
Photo: panumas nikhomkhai / Pexels

Quand l’utiliser ❓

  • Vous déployez un nouveau domaine Active Directory et avez besoin d’un serveur de temps interne.
  • Vous remplacez un serveur NTP Linux existant par une solution Windows.
  • Vous devez corriger une dérive d’horloge sur des serveurs qui ne peuvent pas accéder à Internet.

🔹 Étapes de mise en place

  1. Installer le rôle Windows Time Service (déjà présent, on le configure seulement) :

    # Vérifier que le service est présent
    Get-Service w32time
  2. Configurer le serveur comme source de temps fiable (stratum 1 ou 2) :

    # Définir le serveur comme source NTP autoritaire
    Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\W32Time\Parameters" -Name "Type" -Value "NTP"
  3. Spécifier les sources externes (optionnel, pour garder la précision) :

    # Ajouter des serveurs de référence externes
    w32tm /config /manualpeerlist:"0.pool.ntp.org,1.pool.ntp.org" /syncfromflags:MANUAL /reliable:YES /update
  4. Redémarrer le service et forcer une synchronisation :

    # Redémarrer le service
    Restart-Service w32time -Force
    
    # Forcer la synchronisation immédiate
    w32tm /resync /nowait
  5. Vérifier le statut du service et la précision :

    # Afficher le statut et les sources utilisées
    w32tm /query /status
    w32tm /query /source

🔧 Méthode alternative

Si vous préférez une interface graphique, vous pouvez utiliser Services.msc pour démarrer le service Windows Time, puis accéder à l’onglet Time des propriétés du serveur via gpedit.msc (Configuration ordinateur → Modèles d’administration → Système → Service de temps Windows). Cependant, PowerShell reste plus rapide et scriptable.

⚠️ Bonnes pratiques de sécurité

  • Activez le filtrage d’adresses IP sur le pare-feu Windows : autorisez uniquement les plages internes (ex. 10.0.0.0/8) à accéder au port UDP 123.
  • Utilisez le paramètre /reliable:YES uniquement sur les serveurs de temps autoritaires afin d’éviter que des machines non‑fiables deviennent sources.
  • Synchronisez régulièrement le serveur NTP interne avec au moins deux serveurs externes fiables pour éviter la dérive.
  • Consignez les événements du service W32Time dans votre SIEM pour détecter d’éventuels changements non autorisés.

✅ Conclusion

En suivant ces cinq étapes simples, vous disposez d’un serveur NTP fiable sous Windows Server 2022, pleinement intégré à votre infrastructure AD. La synchronisation temporelle devient ainsi une base solide pour la sécurité, les audits et le bon fonctionnement de vos applications critiques. N’hésitez pas à automatiser ce script via GPO ou SCCM pour déployer le même paramétrage sur plusieurs serveurs.

Laisser un commentaire

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