Merhaba arkadaşlar,

Active Directory ortamlarımızda ortamdaki AD sunucularımızda PDC rolunü barındıran sunucumuz ortama Time Server olarak hizmet vermektedir. Bu sunucumuz default olarak BIOS saatini baz alarak saat ayarını yapmaktadır.

Bir şekilde BIOS saati geri kalmaya başladığında veya PDC rolu sanal ortamda çalışan bir Active Directory sunucusu üzerine aktarıldığında Active Directory domain ortamınızda saat ayarlarında kaymalar yaşayabilirsiniz. Siz PDC rolu yüklü sunucu üzerinde bu saat ayarını manuel düzeltseniz bile yaklaşık 5 dk içinde zaman ayarı yine bozuk zamana geri dönecektir ısrarla.

Yukarıda bahsettiğimiz sebepler gibi sorunlar yüzünden AD ortamınızda saat sorunu yaşamaya başladığınızda bu sorununuza hızlı ve kesin bir çözüm üretecek olan PDC rolu yüklü Active Directory sunucusunun BIOS saati yerinde internete çıkarak Public hizmet veren bir Time server üzerinden zaman ayarını nasıl yönlendirileceğini kısaca anlatmaya çalışacağım makalemde.

Şimdi buradaki örneğimizde AD ortamınındaki tüm kullanıcılarınızda 5dk. Yada 1 saat ileri veya geri zaman sorunu yaşandığını farzedelim.

Active directory PDC rolu üzerinde olan sunucumuz üzerinde Power Shell üzerinde aşağıdaki komutu kullanarak zaman kaynağı olarak nereyi kullandığını görebilirsiniz.

PS> W32tm /query /source

Yukarıdaki resimdeki AD sunucumuz local CMOS (Bios) zamanını baz alarak çalışmaktadır. Şimdi biz bu sunucumuzu internet’e çıkarak “ us.pool.ntp.org “ adresine giredek zaman kontrolunü yapmasını sağlayacağız.

Not: Eğer ortamınızdaki PDC rolune sahip AD sunucusunu bulmakta zorlanıyor iseniz aşağıdaki komut satırı size ortamınzdaki PDC rolunü çalıştıran DC sunucu adını verecektir.

PS> $forest = [System.DirectoryServices.ActiveDirectory.Forest]::GetCurrentForest()

PS> $forest.RootDomain.PdcRoleOwner.Name

dc01.zekisukut.local

Şimdi aşağıdaki komut yardımı ile AD sunucumuzu internete çıkarak 4 farklı Time server adresini vererek zaman kontrolu için bu adreslere gitmenini sağlayabilirsiniz.

Buradaki örneğimizde 4 farklı time server’a da aynı sunucu adını girdik siz farklı farklı time server adresleri girebilirsiniz.

PS> 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

Bu komut seti hata vermeden tamamlandığı zaman saat ayarların bu adreslerden çekilmesi ve düzelmesi için Windows Time Server servisini restart etmeniz yeterli olacaktır.

PS> Restart-Service w32time

Windows Time servisini restart ettikten sonra AD sunucusunun saat ayarlarının düzeldiğini görebilirsiniz.

Time server ayarlarını yeniden kontrol ettiğinizde aşağıdaki resimdeki gibi zaman ayarlarının alındığı kaynak istediğiniz gibi güncellenmiş olacaktır.

Active Directory sunucunuzun ve ortamdaki diğer sunucularınızın zaman ayarını hızlıca düzeltmesi için aşağıdaki komutu kullanabilirsiniz.

PS> w32tm.exe /config /update