Domain Controller ve Client’ların saat senkronizasyonu – Active Directory Saat Ayarları

Bu konuda çok fazla kaynak paylaşımı yaptığım için bu sefer özet ve komut seti temelli bir paylaşacağım yapacağım. Aşağıdaki komut setleri ile özellikle PDC makinesini dış bir kaynaktan ( windows, tubitak, ntp.org vb ) zaman bilgisini güncellmesi için ayarlayabilirsiniz.

Eğer PDC makinesinden emin değilseniz cmd ekranında

netdom query fsmo

veya powershell ekranında aşağıdaki komut ile PDC yi tespit edebilirsiniz

[System.DirectoryServices.ActiveDirectory.Forest]::GetCurrentForest().RootDomain.PdcRoleOwner.Name

Yada aşağıdaki komutu kullanabilirsiniz

dsquery server -hasfsmo pdc

PDC’ yi bulduktan sonra PDC makinesine logon oluyoruz.

Komut setini yönetici yetkisi ile açıyoruz ve aşağıdaki komutu çalıştırıyoruz

w32tm.exe /config /manualpeerlist:”0.us.pool.ntp.org, 1.us.pool.ntp.org, 2.us.pool.ntp.org, 3.us.pool.ntp.org” /syncfromflags:manual /reliable:YES /update

Daha sonra

w32tm.exe /config /update

Restart-Service w32time

Kontroller için

Zaman bilgisini anlık olarak güncellemesi için
w32tm /resync /nowait

NTP ayarlarını kontrol etmek için
w32tm /query /configuration

Zaman kaynağını görüntüleme için
w32tm /query /source

Ayarladığımı tüm NTP sunucularının durumunu göstermek için

w32tm /query /peers

Zaman sunucusunun durumunu göztermek için, örneğin csmo yani local mi yoksa external bir time server ayarlımı

w32tm /query /status

PDC tarafındaki işlemlerimiz bitti, diğer DC, sunucu ve istemciler için aslında varsayılanda ek bir şey yapmaya gerek yoktur. Ancak özellikle DC leri kontrol etmekte fayda var.

w32tm /config /update /syncfromflags:DOMHIER
w32tm /resync /rediscover
Daha sonra
net stop w32time

net start w32time

Time server ayarlarını varsayılan yapmak için

net stop w32time
w32tm /unregister
w32tm /register
net start w32time

Eklemeler 31.05.2020

Öncelikle Kayıt defterinden ADC bir makine için kontrol sağladığınız zaman aşağıdaki gibi bir ayar görebilirsiniz

Burada zaman kaynağı time.windows.com gibi görünse de aslında önemli olan Type bölümüdür, NT5DS yazması aslen time kaynağı için domain yapısından bilgi aldığını gösterir, yani varsayılan ayar olan PDC’ den zamanı alır.

Eğer bu işi ADC ve member makinelerde GPO ile yapmak isterseniz aşağıdaki adımları gerçekleştirebilirsiniz.

Computer Configuration->Policies->Administrative Templates->System->Windows Time Service->Time Providers altında

Enable Windows NTP Client – Bu seçeneği aktif hale getiriyoruz.

Configure Windows NTP Client için ise örnek ayarlar aşağıdaki gibidir

Not: Time server sonrasında eklediğimiz 0x1, 0x9 gibi eklentiler için bu numaraların açıklamalarını merak ediyorsanız aşağıdaki link’ i inceleyebilirsiniz.

https://docs.microsoft.com/tr-tr/archive/blogs/w32time/configuring-the-time-service-ntpserver-and-specialpollinterval

Ek olarak tüm bunları yapmanıza rağmen eğer istemciler zaman eşitlemiyor ise bu durumda dcdiag raporunda aşağıdaki gibi bir uyarı olabilir.

Warning: is not advertising as a time server

Eğer inplace upgrade yöntemi ile güncellenmiş sunucu ve istemciler var ise aşağıdaki makaleyi incelemelerini öneriyorum.

https://support.microsoft.com/en-us/help/3201265/windows-time-service-settings-are-not-preserved-during-an-in-place-upg

Ek Bilgi;

NTP Server isminden sonra server flag ismini verdiğimiz parametre kullanılır. 0x01, 0x02, 0x04 ve 0x08 olarak görebilirsiniz. Bu parametre sunucu için bir tanımlama içerir ve bu tanımlar aşağıdaki gibidir;

0x01 = SpecialInterval (Use a predefined interval)
0x02 = UseAsFallbackOnly (Try all other servers first)
0x04 = SymmatricActive
0x08 = Client

Peki benim makalemdeki 0x09 ne demek? Bu ise 0x08+0x01 yani bu sunucu için iki özelliğin aktif olması demektir.

Ek olarak EventLogFlag dediğimiz bir değişken daha vardır. Bu değişken içinde değerler aşağıdaki gibidir;

0 = Disabled
1 = Log when ever a time jump is detected
2 = Log when ever a time source change is made
3 = 1+2 (Log time jumps and time source changes)