Synchronizace času v doméně

Už dlouho jsem chtěl napsat něco na tohle téma. A zrovna to někdo potřeboval, tak je to tady. Vysvětlíme si, jak správně nastavit synchronizaci času v doméně. Ale začneme samozřejmě s jemným průnikem do celé synchronizační technologie kterou dělá Windows Time Service.

Tato služba běží na každém DC i stanici. Tedy alespoň by měla. A prostě přenastavuje čas podle nějakého důvěryhodného zdroje.

Primary Domain Controller Emulator (PDC Emulator)

Každá doména, kterou máte, musí mít jedno DC vyhrazeno jako PDC Emulator. Které DC ve vaší doméně to je, zjistíte jednoduše například z příkazové řádky:

DSQUERY server -hasfsmo PDC

Zjednodušeně řečeno, Windows Time Service v doménovém prostředí předpokládá, že časovou autoritou je právě PDC Emulator. Každé DC se snaží synchronizovat svůj čas s tímto PDC. Každý klient si potom synchronizuje čas se svým přihlašovacím DC.

klient -----
            |--DC --------
klient -----              |
                          | --PDC
klient -----              |
            |--DC --------
klient -----

To je velmi zjednodušeně řečeno, protože ve větším prostředí do toho samozřejmě vstupují AD site, poddomény, forest root doména apod.

PDC je autorita. Měla by mít tedy správný čas. Můžete se spolehnout buď na hodiny daného počítače. Ale lepší je nechat PDC synchronizovat s nějakým internetovým zdrojem. Tohle byste měli na PDC nastavit ručně z příkazové řádky (detaily syntaxe dále):

w32tm /config /syncfromflags:ALL /manualpeerlist:time.windows.com

Ostanítní DC a klienti

Všechny ostatní stroje, jak DC tak i klienti konfiguraci vlastně nepotřebují. Pokud mají výchozí nastavení, Windows Time si automaticky najde nejvhodnější DC a z toho se synchronizuje.

Někdy ale máte problém, protože jste výchozí nastavení změnili ručně. Třeba ještě předtím, než jste daný počítač připojili do domény. Pokud to chcete změnit, použijte následující příkaz:

w32tm /config /syncfromflags:NT5DS

Parametry w32tm

Jen pro pořádek (tohle nebudete používat). Program w32tm má vlastně 3 parametry pro typ synchronizace – syncfromflags. Buď nastavíte NT5DS, což říká synchronizovat automaticky z nějakého DC, nebo PDC.

Nebo použijete MANUAL. V tom případě se Windows Time synchronizuje z nějakého manuálně zadaného NTP serveru – parametr manualpeerlist.

w32tm /config /syncfromflags:MANUAL /manualpeerlist:time.windows.com

Pro naše PDC jsme použili ALL, což říká, aby se použily obě možnosti. Je to lepší, než použít MANUAL. Co když později změníte PDC.

Nastavení klientů pomocí Group Policy

PDC je nejjednodušší nastavit ručně. Zatímco klienty a ostatní DC je vhodné spravovat pomocí Group Policy. Jak? Ideálně uděláme dvě věci:

a) vynutíme automatické startování služby Windows Time
b) nastavíme centrálně hodnotu NT5DS

Je ale potřeba udělat GPO takové, aby se aplikovalo jen na všechny počítače, kromě PDC. Na to se jednoduše použije WMI Filter podle následujícího obrázku:

SELECT * FROM Win32_ComputerSystem WHERE
DomainRole <> 5

Uvnitř samotného GPO provedem dvě věci. Na následujícím obrázku je vidět automatické strartování služby Windows Time.

Až tohle máte, najděte si nastavení samotného Windows Time Service:

A tam prostě zapněte typ NT5DS s tím, že na nic dalšího nemusíte vůbec sahat. Dokonce ani ta hodnota NTP serveru nemá smysl. Synchronizujete se přece z vašeho DC.