Windows Server

Der Primary Domain Controller (PDC) muss zwingend eine verlässliche Zeitquelle für die Windows Domäne zur Verfügung stellen. Das lässt sich am Einfachsten durch Verwendung eines NTP Server Pools verwirklichen.

NTP Server Pools

Öffentliche NTP-Server werden zur Ausfallsicherheit über sogenannte „NTP-Pools“ angesteuert. Als Zeitquelle sollten auf Domaincontrollern mindestens 2 dieser Pools verwendet werden:

  • 0.at.pool.ntp.org
  • 1.at.pool.ntp.org
  • 2.at.pool.ntp.org
  • 3.at.pool.ntp.org

Update#2: Windows Server 2016

Windows Server 2016 hat eine ganze Reihe Verbesserungen des NTP-Dienstes an Bord, nutzt aber nach wie vor w32tm zur Konfiguration. Insbesondere im Hinblick Domain Controller hat Microsoft ein detailliertes Best Practice Dokument herausgegeben:
Windows Server 2016 Accurate Time

Update: Windows Server 2008 & 2012

Seit Windows Server 2008 kann anstatt des Registry-Hacks das Tool „w32tm“ verwendet werden:

w32tm /config /manualpeerlist:"<Peers>" /syncfromflags:manual /reliable:yes /update

Peers unter Doppelten Anführungszeichen, mit Leerzeichen getrennt eingeben.
Beispiel: „0.at.pool.ntp.org 1.at.pool.ntp.org“

Achtung: wird der Domain Controller virtualisiert unter Hyper-V betrieben sollte die Zeitsynchronisierung mit dem Hyper-V Host in den Eigenschaften der VM (unter „Integration Services“) deaktiviert werden!

Windows Server 2003

Der TimeService kann durch setzen der folgenden Registry-Keys konfiguriert werden:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters\Type = NTP
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\AnnounceFlags = 5
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer\Enabled = 1
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters\NtpServer\NTPServer = <Peers>
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient\SpecialPollInterval = 900
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\MaxPosPhaseCorrection = 1800
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\MaxPosPhaseCorrection = 1800

Peers mit Leerzeichen getrennt und mit Suffix „,0x1“ eingeben. (Ohne Suffix wird das PollingInterval ignoriert.)
Beispiel: 0.at.pool.ntp.org,0x1 1.at.pool.ntp.org,0x1

Danach den Windows-Timeservice neu starten:

net stop w32time && net start w32time

Quellen