Kısa cevap: Active Directory ortamında zaman, hiyerarşik olarak dağılır: üye makineler ve istemciler kendilerine giriş yaptıkları DC’den, DC’ler de PDC emülatör rolünü taşıyan sunucudan zamanı alır. Bu hiyerarşinin tepesindeki PDC emülatörünü güvenilir bir dış NTP kaynağına eşitlemeniz yeterlidir; diğer makinelerde varsayılan ayarlar (NT5DS) genellikle olduğu gibi kalmalıdır. Aşağıda komut setini, GPO ile yapılandırmayı ve sık karşılaşılan sorunları anlatıyorum.
Güncelleme (Ekim 2026): Bu konuda çok fazla kaynak paylaştığım için yazıyı özet ve komut seti temelli hazırlamıştım. Komutlardaki bazı hataları düzelttim (tırnak işaretleri, eş listesi biçimi), NTP kaynaklarını güncelledim ve GPO, sanal ortam ile sorun giderme bölümlerini ekledim.
Zaman Senkronizasyonu Neden Önemli?
Active Directory’de kimlik doğrulama Kerberos ile yapılır. Kerberos, istemci ile DC arasındaki saat farkına karşı hassastır; varsayılan tolerans 5 dakikadır. Fark bu sınırı aşarsa kullanıcılar oturum açamaz, kaynaklara erişemez ve replikasyon hataları görülür. Kerberos’un nasıl çalıştığını Kerberos nedir yazımda anlattım.
PDC Emülatörünü Bulmak
PDC makinesinden emin değilseniz Komut İstemi’nde:
netdom query fsmo
veya PowerShell’de aşağıdaki komutlardan birini kullanarak PDC’yi tespit edebilirsiniz:
[System.DirectoryServices.ActiveDirectory.Forest]::GetCurrentForest().RootDomain.PdcRoleOwner.Name
(Get-ADDomain).PDCEmulator
Ya da şu komutu kullanabilirsiniz:
dsquery server -hasfsmo pdc
Not: Birden fazla domain içeren bir forest’ta zaman hiyerarşisinin tepesi, forest kök domain’inin PDC emülatörüdür. Yukarıdaki ilk komut tam olarak onu verir. Diğer domain’lerin PDC’leri zamanı kök domain’den alır; dış kaynağı yalnızca kök PDC’ye tanımlayın.
PDC’yi Dış Bir NTP Kaynağına Eşitlemek
PDC’yi bulduktan sonra bu makineye logon oluyoruz. Komut satırını yönetici yetkisiyle açıp aşağıdaki komutu çalıştırıyoruz. Bu komutla PDC’yi dış bir kaynaktan (Windows, TÜBİTAK, ntp.org vb.) zaman bilgisini alacak şekilde ayarlayabilirsiniz:
w32tm /config /manualpeerlist:"0.tr.pool.ntp.org,0x8 1.tr.pool.ntp.org,0x8 2.tr.pool.ntp.org,0x8 3.tr.pool.ntp.org,0x8" /syncfromflags:manual /reliable:yes /update
Komuttaki üç noktaya dikkat edin:
- Tırnak işaretleri düz olmalı. Web sayfalarından kopyaladığınız kıvrık tırnaklar (“ ”) komutun çalışmamasına neden olur. Önceki sürümde bu hata vardı.
- Sunucular boşlukla ayrılır. Virgül, sunucudan sonra gelen bayrağı (
,0x8) ayırmak içindir. 0x8bayrağı sunucuyu istemci modunda kullanmak demektir. Bayrakların anlamlarını yazının sonunda açıkladım.
Türkiye için tr.pool.ntp.org havuzunu kullandım (önceki sürümde us.pool.ntp.org vardı). time.windows.com veya time.cloudflare.com gibi sunucuları da kullanabilirsiniz. Google’ın time.google.com sunucuları artık saniyeyi (leap second) bir anda değil kademeli olarak (leap smear) uygular; bu yüzden onları diğer kaynaklarla aynı listede karıştırmayın.
Daha sonra servisi yeniden başlatıyoruz:
Restart-Service w32time
w32tm /resync /rediscover
PDC’nin dışarıya UDP 123 portundan erişebildiğinden emin olun; firewall bu portu engelliyorsa zaman eşitlenmez.
Kontrol Komutları
Zaman bilgisini anlık olarak güncellemek için:
w32tm /resync /nowait
NTP ayarlarını kontrol etmek için:
w32tm /query /configuration
Zaman kaynağını görüntülemek için:
w32tm /query /source
Ayarladığınız tüm NTP sunucularının durumunu göstermek için:
w32tm /query /peers
Zaman sunucusunun durumunu görmek için. Örneğin kaynağın “Local CMOS Clock” (yerel saat) mi yoksa dış bir time server mı olduğunu bu çıktıdan anlarsınız:
w32tm /query /status
Başka bir makineyle aranızdaki saat farkını ölçmek için:
w32tm /stripchart /computer:DC02 /samples:5 /dataonly
Diğer DC’ler, Sunucular ve İstemciler
PDC tarafındaki işlemlerimiz bitti. Diğer DC’ler, sunucular ve istemciler için varsayılanda ek bir şey yapmaya gerek yoktur; zamanı domain hiyerarşisinden alırlar. Ancak özellikle PDC dışındaki DC’leri kontrol etmekte fayda var:
w32tm /config /update /syncfromflags:DOMHIER
w32tm /resync /rediscover
Ardından servisi yeniden başlatın:
net stop w32time
net start w32time
Time Server Ayarlarını Varsayılana Döndürmek
net stop w32time
w32tm /unregister
w32tm /register
net start w32time
Bu işlem zaman servisi yapılandırmasını sıfırlar. PDC üzerinde yaparsanız dış NTP ayarını yeniden tanımlamanız gerekir.
Kayıt Defterinden Kontrol (31.05.2020 Eklemesi)
Bir ADC (ek domain controller) makinede kayıt defterinden kontrol ettiğinizde aşağıdaki gibi bir ayar görebilirsiniz:

Zaman kaynağı time.windows.com gibi görünse de önemli olan Type değeridir. NT5DS yazması, makinenin zaman bilgisini domain yapısından aldığını, yani varsayılan ayar olan PDC’den zamanı çektiğini gösterir. NtpServer alanındaki değer bu durumda kullanılmaz.
GPO ile Yapılandırma
Zaman ayarlarını GPO ile yönetmek isterseniz şu yolu izleyin:
Computer Configuration > Policies > Administrative Templates > System > Windows Time Service > Time Providers
Enable Windows NTP Client seçeneğini etkinleştiriyoruz. Configure Windows NTP Client için örnek ayarlar aşağıdaki gibidir:

Önemli: Dış NTP kaynağını tanımlayan GPO’yu domain’deki tüm makinelere uygulamayın; hiyerarşi bozulur ve her makine kendi başına dışarıya çıkmaya çalışır. GPO’yu yalnızca PDC emülatörüne uygulamak için bir WMI filtresi kullanın: SELECT * FROM Win32_ComputerSystem WHERE DomainRole = 5. DomainRole = 5, makinenin PDC emülatör rolünü taşıdığını gösterir. Böylece rol başka bir DC’ye taşındığında ayar da onunla birlikte taşınır. Diğer makinelerde Type değeri NT5DS olarak kalmalıdır.
Time server sonrasında eklenen 0x1, 0x9 gibi değerlerin açıklamalarını merak ediyorsanız aşağıdaki bağlantıya bakabilirsiniz:
Configuring the Time Service: NtpServer and SpecialPollInterval
İstemciler Hala Zaman Eşitlemiyorsa
Tüm bunları yapmanıza rağmen istemciler zaman eşitlemiyorsa şunları kontrol edin:
dcdiag /test:advertisingçıktısında şu uyarıyı görebilirsiniz: Warning: is not advertising as a time server. Bu, DC’nin zaman sunucusu olarak kendini duyurmadığı anlamına gelir. Öncew32tm /query /statusile makinenin güvenilir bir kaynağa eşitlenip eşitlenmediğine bakın.- In-place upgrade yapılmış sunucu veya istemciler: Windows zaman servisi ayarları in-place upgrade sırasında korunmayabilir. Ayrıntılar için Microsoft’un KB3201265 makalesine bakın.
- Sanal ortamlar: Sanal bir PDC’de hypervisor zaman eşitlemesi (Hyper-V Time Synchronization veya VMware Tools) ile NTP çakışabilir. PDC üzerinde bunlardan birini seçin, diğerini devre dışı bırakın.
- Firewall: PDC’den dış NTP kaynaklarına UDP 123 erişimi açık mı?
- Olay günlüğü: Event Viewer’da System günlüğündeki Time-Service kayıtlarına bakın.
Ek Bilgi: NtpServer Bayrakları ve EventLogFlags
NtpServer isminden sonra gelen bayrak (flag) parametresi sunucu için bir tanımlama içerir. 0x01, 0x02, 0x04 ve 0x08 olarak görebilirsiniz:
0x01= SpecialInterval (önceden tanımlı bir aralık kullanılır)0x02= UseAsFallbackOnly (önce diğer sunucular denenir)0x04= SymmetricActive0x08= Client
Makalemdeki 0x09 ne demek? Bu, 0x08 + 0x01’dir; yani sunucu için iki özelliğin aktif olması demektir.
Ek olarak EventLogFlags adlı bir değişken daha vardır. Değerleri şöyledir:
0= Devre dışı1= Zaman sıçraması algılandığında kaydet2= Zaman kaynağı değiştiğinde kaydet3= 1 + 2 (hem zaman sıçramalarını hem kaynak değişikliklerini kaydet)

