Overzicht
Dit artikel behandelt de werking van tijdsynchronisatie in een Windows Server-domeinomgeving.
We bespreken het ontwerp met de PDC-emulator als referentiepunt, de configuratie van de w32time-service, de toepassing van groepsbeleidsobjecten (GPO) en aandachtspunten in virtuele omgevingen.
Variabele referentie
| Variabele | Voorbeeld | Beschrijving |
|---|---|---|
<<PDC_HOST>> |
DC01.contoso.local |
PDC-emulator (tijdreferentie van het domein) |
<<SECONDARY_DC>> |
DC02.contoso.local |
Andere domeincontrollers |
<<NTP_SERVER>> |
ntp.nict.jp |
Externe NTP-servernaam of IP-adres |
<<CLIENT_HOST>> |
SRV01.contoso.local |
Lidserver of client |
<<DOMAIN_NAME>> |
contoso.local |
Active Directory-domeinnaam |
Stap 1: Basisstructuur van tijdsynchronisatie
Binnen Active Directory volgt tijdsynchronisatie een hiërarchische structuur:
| Niveau | Synchronisatiebron | Beschrijving |
|---|---|---|
| PDC-emulator | Externe NTP-server | Centrale tijdsbron van het domein |
| Andere DC’s | PDC-emulator | Houdt domeinbrede synchronisatie bij |
| Lidservers / Clients | Dichtstbijzijnde DC | Synchroniseert automatisch voor Kerberos-consistentie |
In een werkgroepomgeving moet elke server handmatig een NTP-server instellen.
Stap 2: Externe NTP-configuratie van de PDC-emulator
De PDC-emulator fungeert als de enige betrouwbare tijdsbron in het domein.
# Externe NTP-servers instellen (meerdere mogelijk)
w32tm /config /manualpeerlist:"ntp.nict.jp time.google.com" /syncfromflags:manual /reliable:yes /update
# Adverteren als betrouwbare tijdsbron
reg add HKLM\SYSTEM\CurrentControlSet\Services\W32Time\Config /v AnnounceFlags /t REG_DWORD /d 5 /f
# Service herstarten
net stop w32time && net start w32time
Controleer:
w32tm /query /configuration
w32tm /query /status
Stap 3: Synchronisatie van andere DC’s en leden
Andere domeincontrollers en leden verkrijgen hun tijd automatisch van de PDC, maar dit kan ook handmatig worden ingesteld.
# Volg de domeinhiërarchie
w32tm /config /syncfromflags:domhier /update
net stop w32time && net start w32time
Forceer synchronisatie en controleer de status:
w32tm /resync /force
w32tm /query /status
Stap 4: Uniform tijdsbeleid via GPO (PowerShell)
Tijdsinstellingen kunnen centraal worden beheerd via Groepsbeleid (GPO).
Hier wordt de volledige procedure met PowerShell uitgevoerd.
1. GPO-module laden en beleid controleren
Import-Module GroupPolicy
# Lijst van GPO's
Get-GPO -All | Select-Object DisplayName, Id, GpoStatus
# Controleer of Default Domain Policy bestaat
Get-GPO -Name "Default Domain Policy" | Select-Object DisplayName, ModificationTime
2. Controleer huidige tijdsinstellingen
# Controleer bestaande waarden (indien leeg, nog niet ingesteld)
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
Een foutmelding “niet gevonden” betekent simpelweg dat er nog geen waarde is ingesteld.
3. NTP-client inschakelen en configureren
# Activeer NTP-client
Set-GPRegistryValue -Name "Default Domain Policy" `
-Key "HKLM\SOFTWARE\Policies\Microsoft\W32Time\TimeProviders\NtpClient" `
-ValueName Enabled -Type DWord -Value 1
# Synchronisatiemodus instellen (NT5DS=domein / NTP=extern)
Set-GPRegistryValue -Name "Default Domain Policy" `
-Key "HKLM\SOFTWARE\Policies\Microsoft\W32Time\TimeProviders\NtpClient" `
-ValueName Type -Type String -Value "NT5DS"
# Externe NTP-server (alleen voor PDC)
Set-GPRegistryValue -Name "Default Domain Policy" `
-Key "HKLM\SOFTWARE\Policies\Microsoft\W32Time\TimeProviders\NtpClient" `
-ValueName NtpServer -Type String -Value "<<NTP_SERVER>>,0x8"
# Poll-interval in seconden
Set-GPRegistryValue -Name "Default Domain Policy" `
-Key "HKLM\SOFTWARE\Policies\Microsoft\W32Time\TimeProviders\NtpClient" `
-ValueName SpecialPollInterval -Type DWord -Value 3600
4. Controleer GPO-koppeling en toepassingsbereik
Get-GPOReport -Name "Default Domain Policy" -ReportType Html -Path "$env:TEMP\DefaultDomainPolicy.html"
5. Pas GPO toe en controleer
gpupdate /force
gpresult /r
Get-GPResultantSetOfPolicy -ReportType Html -Path "$env:TEMP\gpresult.html"
6. Controleer toegepaste registerwaarden
reg query "HKLM\SOFTWARE\Policies\Microsoft\W32Time\TimeProviders\NtpClient"
Voorbeelduitvoer:
Enabled REG_DWORD 0x1
Type REG_SZ NT5DS
NtpServer REG_SZ ntp.nict.jp,0x8
SpecialPollInterval REG_DWORD 0xe10
Let op bij virtuele omgevingen
In virtuele omgevingen (Hyper-V, VMware) kunnen conflicten ontstaan wanneer de host en gast beide tijd synchroniseren.
Veelvoorkomende oorzaken:
- Zowel host- als VM-synchronisatie actief
- PDC draait als VM met afwijkende NTP-bron
- Snapshots of migraties veroorzaken tijdsverschillen
Aanbevolen configuratie:
- Schakel hostsynchronisatie uit op de PDC-emulator
- Laat overige VM’s synchroniseren met de host
- Synchronisatie tussen DC’s uitsluitend via
w32time
Testen en probleemoplossing
# NTP-synchronisatietest
w32tm /stripchart /computer:"<<NTP_SERVER>>" /dataonly /samples:5
# Servicestatus controleren
Get-Service w32time
# Laatste 10 gebeurtenissen van W32Time
Get-WinEvent -LogName System | Where-Object {$_.ProviderName -eq "Microsoft-Windows-Time-Service"} |
Select-Object TimeCreated, Id, LevelDisplayName, Message -First 10
Samenvatting
- De PDC-emulator is de enige betrouwbare tijdsbron in het domein.
- Alleen de PDC gebruikt externe NTP-servers; andere systemen volgen
domhier. - In virtuele omgevingen moet hostsynchronisatie op de PDC worden uitgeschakeld.
