Montag, 21. Februar 2011

Synchronisieren der Uhrzeit in einer Domäne

Ausgangslage:
Ich habe eine Domäne mit min. einem DC und möchte, dass jeder Rechner und jeder untergeordnete Server im Netz die gleiche Zeit hinterlegt hat.
Ein Server (am besten ein DC) soll aus dem Internet die aktuelle Zeit beziehen und  alle anderen Server und Clients sollen sich diese Zeit in regelmäßigen Abständen beziehen!

Was benötige ich?
Einen Domänen-Controller ab Windows Server 2003 und Clients ab Windows XP, darunter kann es zwar funktionieren, aber meines Wissens sollte man schon min. Windows 2000 SP4 besitzen!

Was ist zu tun?
Das Kommandozeilentool "w32tm" hat alles was man braucht, um die gewünschte Konstellation ohne viel Aufwand zu betreiben. Der Server mit Internetzugriff, welcher als Zeitserver in der eigenen Domäne dienen soll, führt nun folgende Commands aus:

w32tm /config /syncfromflags:manual /manualpeerlist:ptbtime1.ptb.de,ptbtime2.ptb.de
w32tm /config /update
w32tm /resync
net stop w32time && net start w32time
 

Damit sagt man dem Server: verwende ptbtime1.ptb.de und ptbtime2.ptb.de als Zeitserver, update jetzt, synchronisiere und starte den Zeitgeberdienst neu. Änderungen werden also sofort angenommen.

Standardmäßig hat jeder Server und jeder Client die Einstellungen von Haus aus (sobald man ihn in die Domäne gehoben hat), dass er automatisch mit dem DC kommuniziert, um die Zeit von selbigen zu beziehen. Man kann diese Einstellung aber auch forcieren (bei bestehenden Servern, vor allem alten, sekundären DCs zu empfehlen, da kann ja durchaus die Einstellung mal verbogen sein).


w32tm /config /syncfromflags:domhier
w32tm /config /update
w32tm /resync
net stop w32time && net start w32time


"domhier" steht in diesem Falle für einen DC in der Domänenhierachie!

Das Tool w32tm.exe ist sehr umfangreich und man sollte sich auf alle Fälle mal über "w32tm /?" die Hilfe anzeigen lassen, denn es gibt noch viele Möglicheiten, wie z. B. die Synchronisierungsintervalle, Debuging, Monitoring, Querys usw.

Die Basisfunktion ist jedoch mit diesem Blogeintrag hier erklärt.

So far

Snaker

2 Kommentare:

  1. Geht dieser Befehl auch wenn der DC nicht im Internet ist? Serverzeit ist aber richtig, nur die Clients haben die falsche Uhrzeit.

    AntwortenLöschen
  2. Also ne, ohne Internet ... wie soll sich der Server denn da die Uhrzeit holen? Du brauchst wenigsten ein Gerät als NTP-Server, welches Internetzugriff hat, von welchem aus du auf andere Geräte synchronisieren kannst, das könnte ja zur Not auch so laufen: Einen "Zeit-Server" in Form einer Linux-Kiste oder sowas, der sich mit einem Internet-NTP-synchronsiert. Dein DC ist wird dann so eingstellt, dass er sich die Uhrzeit vom Linux-Server holt und das wird dann wiederum auf die Clients verteilt. Alternativ gibt es ja sicherlich auch Hardware dafür, USB-NTP-Server oder sowas, die sich das per Funk oder anderweitig beziehen :)

    AntwortenLöschen