- Vue d’ensemble
- Référence des variables
- Étape 1 : Architecture de synchronisation dans le domaine
- Étape 2 : Configuration NTP externe du PDC Emulator
- Étape 3 : Paramétrage des autres DC et des membres
- Étape 4 : Politique unifiée via GPO (PowerShell)
- Points d’attention en environnement virtualisé
- Tests et dépannage
- Résumé
Vue d’ensemble
Cet article explique le fonctionnement de la synchronisation de l’heure dans un environnement de domaine Windows Server.
Nous couvrons l’architecture centrée sur le PDC Emulator comme référence, la configuration du service w32time, l’uniformisation via les GPO, ainsi que les points d’attention en environnements virtualisés.
Référence des variables
| Variable | Exemple | Description |
|---|---|---|
<<PDC_HOST>> |
DC01.contoso.local |
PDC Emulator (référence temporelle du domaine) |
<<SECONDARY_DC>> |
DC02.contoso.local |
Autres contrôleurs de domaine |
<<NTP_SERVER>> |
ntp.nict.jp |
Serveur NTP externe (nom ou IP) |
<<CLIENT_HOST>> |
SRV01.contoso.local |
Serveur membre ou client |
<<DOMAIN_NAME>> |
contoso.local |
Nom de domaine Active Directory |
Étape 1 : Architecture de synchronisation dans le domaine
Active Directory s’appuie sur une hiérarchie de temps :
| Niveau | Source de synchronisation | Description |
|---|---|---|
| PDC Emulator | Serveur NTP externe | Source de temps centrale et de confiance du domaine |
| Autres DC | PDC Emulator | Maintiennent la hiérarchie temporelle du domaine |
| Serveurs membres / Clients | DC le plus proche | Synchronisation automatique pour la cohérence Kerberos |
En workgroup, chaque hôte doit définir manuellement sa source NTP.
Étape 2 : Configuration NTP externe du PDC Emulator
Le PDC Emulator doit être configuré comme unique source de temps de confiance.
# Définir des serveurs NTP externes (plusieurs possibles)
w32tm /config /manualpeerlist:"ntp.nict.jp time.google.com" /syncfromflags:manual /reliable:yes /update
# Annoncer comme source de temps de confiance
reg add HKLM\SYSTEM\CurrentControlSet\Services\W32Time\Config /v AnnounceFlags /t REG_DWORD /d 5 /f
# Redémarrer le service
net stop w32time && net start w32time
Vérification :
w32tm /query /configuration
w32tm /query /status
Étape 3 : Paramétrage des autres DC et des membres
Les autres DC et membres se synchronisent automatiquement avec le PDC, mais on peut aussi l’imposer manuellement.
# Suivre la hiérarchie du domaine
w32tm /config /syncfromflags:domhier /update
net stop w32time && net start w32time
Forcer la sync et contrôler l’état :
w32tm /resync /force
w32tm /query /status
Étape 4 : Politique unifiée via GPO (PowerShell)
Les paramètres de temps peuvent être appliqués au niveau du domaine via les GPO.
Ici, tout est géré en PowerShell (sans interface graphique).
1. Charger le module GPO et auditer les stratégies
Import-Module GroupPolicy
# Lister les GPO
Get-GPO -All | Select-Object DisplayName, Id, GpoStatus
# Vérifier l’existence de la Default Domain Policy
Get-GPO -Name "Default Domain Policy" | Select-Object DisplayName, ModificationTime
2. Consulter les paramètres temporels actuels
# Valeurs existantes (si introuvables, non encore définies dans la GPO)
Get-GPRegistryValue -Name "Default Domain Policy" `
-Key "HKLM\SOFTWARE\Policies\Microsoft\W32Time\TimeProviders\NtpClient" `
-ValueName Type
Get-GPRegistryValue -Name "Default Domain Policy" `
-Key "HKLM\SOFTWARE\Policies\Microsoft\W32Time\TimeProviders\NtpClient" `
-ValueName NtpServer
Un message « introuvable » signifie simplement que la valeur n’est pas encore définie.
3. Activer et configurer le client NTP
# Activer le client NTP
Set-GPRegistryValue -Name "Default Domain Policy" `
-Key "HKLM\SOFTWARE\Policies\Microsoft\W32Time\TimeProviders\NtpClient" `
-ValueName Enabled -Type DWord -Value 1
# Mode de synchronisation (NT5DS=hiérarchie du domaine / NTP=externe)
Set-GPRegistryValue -Name "Default Domain Policy" `
-Key "HKLM\SOFTWARE\Policies\Microsoft\W32Time\TimeProviders\NtpClient" `
-ValueName Type -Type String -Value "NT5DS"
# Source NTP externe (uniquement pour le PDC)
Set-GPRegistryValue -Name "Default Domain Policy" `
-Key "HKLM\SOFTWARE\Policies\Microsoft\W32Time\TimeProviders\NtpClient" `
-ValueName NtpServer -Type String -Value "<<NTP_SERVER>>,0x8"
# Intervalle d’interrogation (secondes)
Set-GPRegistryValue -Name "Default Domain Policy" `
-Key "HKLM\SOFTWARE\Policies\Microsoft\W32Time\TimeProviders\NtpClient" `
-ValueName SpecialPollInterval -Type DWord -Value 3600
4. Vérifier le lien et le périmètre de la GPO
Get-GPOReport -Name "Default Domain Policy" -ReportType Html -Path "$env:TEMP\DefaultDomainPolicy.html"
5. Appliquer et valider la GPO
gpupdate /force
gpresult /r
Get-GPResultantSetOfPolicy -ReportType Html -Path "$env:TEMP\gpresult.html"
6. Contrôler les valeurs réellement appliquées dans le Registre
reg query "HKLM\SOFTWARE\Policies\Microsoft\W32Time\TimeProviders\NtpClient"
Exemple de sortie :
Enabled REG_DWORD 0x1
Type REG_SZ NT5DS
NtpServer REG_SZ ntp.nict.jp,0x8
SpecialPollInterval REG_DWORD 0xe10
Points d’attention en environnement virtualisé
Dans Hyper-V/VMware, des conflits peuvent apparaître si l’hôte et la VM synchronisent tous deux l’heure.
Cas typiques :
- Synchronisation active côté hôte et VM
- PDC virtualisé avec une source NTP différente
- Snapshots ou migrations provoquant des décalages/retours en arrière
Recommandations :
- Désactiver la synchronisation hôte sur le PDC Emulator
- Autoriser la sync hôte pour les autres VM si nécessaire
- Entre DC, standardiser uniquement via
w32time
Tests et dépannage
# Test NTP (latence/dérive)
w32tm /stripchart /computer:"<<NTP_SERVER>>" /dataonly /samples:5
# État du service
Get-Service w32time
# 10 derniers événements du service temps
Get-WinEvent -LogName System | Where-Object {$_.ProviderName -eq "Microsoft-Windows-Time-Service"} |
Select-Object TimeCreated, Id, LevelDisplayName, Message -First 10
Résumé
- Le PDC Emulator est l’unique source de temps de confiance du domaine.
- Seul le PDC utilise des serveurs NTP externes ; les autres hôtes suivent la hiérarchie
domhier. - En environnement virtualisé, désactivez la sync hôte sur le PDC pour éviter les conflits.
