25 Ekim 2015 04:00’da sona ermesi planlanan Yaz Saati Uygulaması (gün ışığından yararlanma, dst) bu yıl resmi bir karar ile 8 Kasım 2015 04:00 tarihine ertelenmişti. 20 Ekim 2015 tarihinde ise Microsoft tarafından Windows işletim sistemleri için DST bitişini 8 Kasım’a erteleyen KB3093503 numaralı bir hotfix yayınlandı. Ancak büyük oranda Türkiye’de yer alan belirli bir grup Windows’a hitap eden bu hotfix Windows Update üzerinde yer almadı ve WSUS’lara da gönderilmedi. Bunun yanı sıra Windows 10 için olan paket dışındaki hotfix paketleri Update Catalog üzerinde de yer almıyor yani elinizdeki WSUS’a manual import etme şansınız da yok. Alelade işler… GPO ile yükleme hayaliniz varsa üzgünüm çünkü GPO mekanizması varsayılan haliyle ancak MSI dağıtabilir. Hotfix MSU/CAB formatında olduğu için önce MSI’a dönüştürmeniz veya yine bir startup script basmanız gerekir. Özetle eğer elinizde merkezi bir uygulama dağıtım çözümü yoksa bu hotfix’i tüm sistemler üzerine manuel yüklemeniz ve ardından kontrol etmeniz gerekiyor.
ⓘ Hotfix geçilmemiş ve DST sona erme zamanı hala 25 Ekim 2015 04:00 görünen Active Directory Domain üyesi Windows’lar saat bilgisini zaten DC’den aldıkları için Pazar sabahı geri kalmayacaklarını düşünenler varsa üzgünüm ama yanılıyorlar. Bu bir şehir efsanesi :) çünkü mesele Local Time ile ilgili.
Client’ların PDC gibi NTP tabanlı servislerden aldığı zaman bilgisi UTC’dir. Client OS, NTP’den aldığı bu zaman bilgisi üzerine Time Zone ayarlarına bakarak meridyen (Türkiye için +2 saat) ve gerekli ise DST (+1 saat) ilave yapar. İşte bu kombinasyonla ortaya çıkan zamana Local Time diyoruz. Bu yüzden PDC/DC saati ne olursa olsun, zamanı geldiğinde Client işletim sistemi sene başında verdiği 1 saati geri alır ve DC bu konuda baskın olamaz çünkü Local Time’ı yöneten DC değil Client OS’tir. Ayrıca bu durum DC/Client authentication’larını etkilemez ve Client’lar 1 saat geri kalsa dahi normal şekilde logon olabilir çünkü Kerberos auth için dikkate alınan zaman bilgisi Local Time değil System Time’dır ve o da UTC’dir yani ekleme çıkartma yapılmamış salt zaman bilgisi. Aslında bunu test etmenin yolu çok basit: Şu an Domain üyesi bir client üzerinde DST’yi disable edin, saatin anında 1 saat geri alındığını göreceksiniz. Bir süre bu şekilde bekleyin, hatta w32tm /resync
falan yapın, ama DC ile aradaki 1 saat farkın asla kapanmadığını göreceksiniz.
ⓘ Windows Server 2003 ve Windows XP’ler için DST ertelemesiyle ilgili bir çözüm ekledim.
ⓘ Get-DstInfo.ps1 Doğrulama Aracı: Install-DstHotfix.ps1‘i yaptığı işi ve ortamınızın yaz saati uygulaması bitişine hazır olup olmadığını anlamak ve topluca raporlamak için yeni bir script yayınladım: Get-DsInfo.ps1 ve kullanım kılavuzu
ⓘ Sosyal ağlar üzerindeki bazı paylaşımlarda hotfix yüklemek yerine çeşitli registry kayıtlarının oluşturulmasıyla ilgili öneriler gördüm. Yapılan kayıt girişleri ile belki o an doğru Time Zone ve DST zamanına ulaşmak mümkün olabilir ama bir sonraki DST zamanı geldiğinde sistem nasıl davranacak? Peki bir gün sonra düzgün çalışacağının garantisini kim veriyor? Bunlar belirsiz noktalar. Eğer tüm sistemler için DST davranış değişikliği sadece bir grup registry kaydı oluşturmak ile çözülebiliyor olsaydı bu yöntem mutlaka açıklanan resmi bir bilgiler arasında da yer alırdı. Yine de registry müdahaleleri çalışmaz veya kesinlikle soruna neden olur demiyorum. Ama yayınlanmış bir hotfix varken risk almaya değmez diyorum. Bana soracak olursanız ve eğer DST için bir müdahalede bulunmaya karar verdiyseniz bu işin en sağlıklı ve resmi uygulama yöntemi ilgili hotfix’i yüklemektir.
DST Değişikliğine Hazırlıklı Olmak Neden Önemli?
Sıradaki DST, saatlerin 04:00’de bir saat geri alınması ile gerçekleşecek. Bu durum 03:00-04:00 zaman aralığının o gün tüm işletim sistemleri ve yazılımlar için iki kez yaşanması demek. Yani eğer önlem alınmamış ise bu aralığa denk gelen örneğin yedekleme görevleri gibi, eşitlemeler gibi envai çeşit zamanlamış görev ve çeşitli process’ler hep 2’şer kez çalışacak. Diğer taraftan sistemler ve entegrasyonlar arası uyumsuzluk, veritabanı kayıtlarının tutarsızlığı, tekrar eden kayıtlar, log çakışmaları ve bu durumların gerçek hayata yansıması gibi daha da önemli riskler söz konusu. İşin doğası gereği var olan bu riskler noktasında Windows DST hotfix’ler çözüm olamıyor çünkü bu gibi durumların tespit edilmesi ve sistem/process bazlı olarak ayrıca ele alınması gerekiyor. Windows için yayınlanan DST hotfix ise ülke genelinde 8 Kasım 04:00’a ertelenen 1 saat geri alma meselesi için işletim sistemi davranışını değiştiriyor ve bu değişikliğin 25 Ekim’de gerçekleşmesinin önüne geçiyor. Aynı zamanda doğru tarihe erteliyor. Böylece sistem saatleri ülke saatiyle eşit ilerlemiş oluyor.
Windows DST Hotfix KB3093503’ü merkezi ve topluca dağıtmak için hazırladığım aşağıdaki PowerShell script’in işinizi oldukça kolaylaştıracağına eminim.
Script Hakkında Önemli Bilgiler
- Her zaman son sürümü kullanın ve hatta 25 Ekim öncesi belirli aralıklarla sayfanın en altındaki “Sürüm Geçmişi” bölümünü takip ederek önemli bir güncelleme olup olmadığını kontrol edin. Mesela v01 ve v02’yi çalıştıranların mutlaka son sürümü tekrar çalıştırmalarını öneririm.
- Sadece KB3093503 için optimize edilmiştir.
- Parametrik değildir çünkü hotfix’in dün geldiğini ve 25 Ekim’e çok az kaldığını düşünürsek bir an önce release etmek için tasarımı özellikle sınırlı tuttum. Mesela bilgisayarları kontrol etsin ama sadece raporlama yapsın, hotfix yüklemesin gibi seçenekler yok.
- Script PowerShell tabanlıdır ve bazı işler için PsExec.exe, wusa.exe, tzutil.exe gibi araçları da kullanır.
- PsExec.exe’yi
Invoke-Command
cmdlet’i yerine özellikle tercih ettim çünkü uzak bilgisayaraInvoke-Command
yapabilmek için özellikle belirli işletim sistemi sürümlerinde WinRM erişimininEnable-PSRemoting
gibi bir yöntemle önceden yapılandırılmış olması gerekiyor. Bunu uzaktan yapılandırmak pek kolay değil çünkü zaten kendisi uzaktan yapılandırmanın kapısını açan anahtar durumunda :) Bu yüzden en temizi PsExec.exe ile uzak bilgisayar üzerindeki exe’lere parametre göndermek oldu. Maşallah PsExec duvarlardan bile geçebiliyor… - Script yüklemesi gereken hotfix sürümünü otomatik olarak tespit eder ve uzak bilgisayara kopyalayıp yükler, ardından MSU dosyasını siler.
- Time Zone ve DST bilgilerini de kontrol eder ve gerekli ise (UTC+02:00) Istanbul olarak güncelleyip DST’nin aktif olmasını sağlar.
- Eğer uzak bilgisayar üzerinde KB3093503 zaten yüklü ise herhangi bir yükleme yapmaz. Ama yine de Time Zone ve DST bilgilerinin doğruluğunu kontrol eder ve gerekli ise düzeltir. Mesela bu özelliği sayesinde hotfix’in zaten yüklü olduğu ortamlarda da çalıştırıp mevcut durumu raporlayabilir, Time Zone ve DST ayarı unutulmuş sistem varsa (UTC+02:00) Istanbul olmasını sağlayabilirsiniz.
- Ortamında v01 sürümünü çalıştıranlara, önemli bir bug düzelttiğim son sürümü de çalıştırmalarını tavsiye ederim. Çalışma sırasında “Önceden Yüklenmis” bilgisi döner ve o sistemler üzerine tekrar hotfix yüklemez ama Time Zone ve DST ayarları eksik ise onları update eder.
- Yükleme sonrası oluşan operasyon-kaydi.csv çıktısı önemlidir. Özellikle içerisindeki Yeni Time Zone, Yeni DST ve Yeni Ay sütunlarında (UTC+02:00) İstanbul
8.11.2015 04:00:00
Kasim
gördüğünüzden emin olun. Bu bilgiler o uzak bilgisayar için yüklemenin ve yapılandırmanın eksiksiz tamamlandığı anlamına gelir. Biraz daha aşağılarda örnek ekran görüntüsü var. - Mesela elinizde 120 bilgisayarlık bir liste var. Script’i 3 farklı sunucuya kopyalayıp listeyi de 3’e bölerek yükleme işlemini daha kısa sürelerde tamamlayabilirsiniz.
Sizler de aşağıdaki bilgiler doğrultusunda testlerinizi yapın ve gerçek yükleme için hazırlığa başlayın. Ara ara burayı da takip edin ki hem gelen geri bildirimlerden hem de eklenen yeni bilgilerden haberdar olma şansınız olur. Bu Post’u sık sık güncelleyeceğim.
ⓘ Sizlerin geri bildirimi önemli: Önerim script’i öncelikle belirli bir grup bilgisayar için çalıştırmanız ve sonuçları izlemeniz yönündedir. Bu sıradaki gözlemlerinizi de yorum şeklinde yazının altına eklerseniz bir geri bildirim döngüsü oluşturabilir ve gerekli durumlarda hızlıca düzeltme çıkartabiliriz.
Windows DST Hotfix Yükleme Script’i Neyi Nasıl Yapıyor?
- Script console ekranına yazarak başlar.
- bilgisayar-listesi.txt isimli dosyadan yükleme yapılacak uzak bilgisayarların listesini alır.
- Sırayla bilgisayarlara bağlanıp önce KB3093503’ün yüklü olup olmadığını kontrol eder. Eğer hotfix yüklü ise yeni bir yükleme yapmaz ve Time Zone & DST ayarlarını kontrol eder. Eğer (UTC+02:00) Istanbul seçili ise herhangi bir işlem gerçekleştirmeden raporlar ve bir sonraki bilgisayara geçer.
- Eğer hotfix yüklü değil ise önce işletim sistemi sürümünü ve mimarisini tespit eder. Ardından bu bilgilere göre hangi hotfix’i yükleyeceğine karar verir.
- Yüklenecek hotfix dosyasını seçip çalıştığı dizinden alır ve uzak bilgisayarın Windows\temp dizini altına kopyalar. Daha sonra PsExec üzerinden wusa.exe’ye parametreler gönderip kurulumu gerçekleştirir. Bu sırada uzak bilgisayar ekranında herhangi bir uyarı veya pencere belirmez ve uzak bilgisayar kesinlikle restart yapılmaz. Zaten çoğu zaman restart gerekmiyor ama yine de bazen gereken durumlar olabiliyor. Bu güvence için wusa.exe’yi
/quiet
ve/norestart
parametreleriyle birlikte tetikler. - Ardından hotfix’in doğru bir şekilde yüklenip yüklenmediğini kontrol eder. Yükleme başarılı ise Time Zone ve DST ayarlarını kontrol eder. Eğer (UTC+02:00) Istanbul seçili değilse tzutil.exe ile seçer ve DST’yi de aktif eder. Ayrıca mevcut (önceki) ve yeni Time Zone bilgilerini operasyon-kaydi.csv içerisinde raporlar.
- Uzak bilgisayar üzerinde Windows\Temp altına kopyaladığı MSU paketini siler.
- Çalışma tamamlandığında tüm operasyon kaydını operasyon-kaydi.csv içerisine yazar. Excel’de açıp biraz biçimlendirme ile kullanışlı bir listeye dönüştürebilirsiniz.
Windows DST Hotfix Yükleme Script’i Nasıl Kullanılır?
Runtime environment yani script’i çalıştıracağınız sunucu üzerinde aşağıdaki gereksinimleri sağlayın:
- Şart değil ancak runtime environment olarak mümkünse bir Windows Server 2012 R2 tercih edin. Aynı zamanda Windows Server 2012, Windows Server 2008 R2 de desteklenir.
- Runtime environment görevi üstlenen bunu sunucu üzerinde, hotfix yüklenecek uzak sistemlerde yönetici (administrators) yetkisine sahip bir hesap ile oturum açın. Tasarım gereği alternatif credentials girme şansı olmadığı için Active Directory Domain ortamında kullanmanızı öneririm. Tek bir hesap, tüm uzak bilgisayarlar üzerinde yetkili olmalı.
- Disk üzerinde bir repository folder oluşturun; mesela C:\Source
Install-DstHotfix
.ps1 scrip dosyasınıburadanindirin ve C:\Source altına kopyalayın.- Ortamınızda çalışan işletim sistemi sürümlerine göre KB3093503 bağlantısından gerekli hotfix paketlerini indirin, self-extractor dosyalarını açın ve MSU uzantılı paketleri C:\Source altına taşıyın. Mutlaka MSU uzantılı paketleri çıkartmalısınız. Her işletim sistemi sürümü ve mimarisi için paket farklıdır ve tek tek indirilip açılması gerekir.
- PsExec aracını indirin ve C:\Source altına kopyalayın. (zip içerisinde de yer alıyor)
- bilgisayar-listesi.txt dosyasını aşağıdakilere dikkat ederek oluşturun ve C:\Source altına kopyalayın.
- Dosya ismi mutlaka bilgisayar-listesi.txt olmalı.
- bilgisayar-listesi.txt içerisinde sunucu isimleri kullanabileceğiniz gibi IP adreslerine de yer verebilirsiniz. Her ikisi aynı anda da kullanılabilir.
- Sunucu adreslerini alt alta yazın, her bir satırdan tek sunucu olsun ve isim veya ip adreslerinin sonunda boşluk olmasın. Ayrıca dosyada boş satır yer almasın.
Hotfix yüklenecek uzak bilgisayar için ön gereksinimler:
- Script’in çalıştırıldığı yetkili hesap ile eşleşen Active Directory Domain üyeliği.
- admin$ paylaşımı erişilebilir olmalı.
- Antivirus ve Firewall gibi güvenlik katmanlarının uzaktan erişimi ve komut çalıştırmayı engellemeyeceğinden emin olun.
- Uzaktan yükleme için desteklenen işletim sistemi sürümleri:
- (32-bit) Windows Vista, Windows 7, Windows 8, Windows 8.1
- (32-bit) Windows Server 2008
- (64-bit) Windows Vista, Windows 7, Windows 8, Windows 8.1
- (64-bit) Windows Server 2008, Windows Server 2008 R2, Windows Server 2012, Windows Server 2012 R2
Script’i Çalıştırma
1) Windows DST Hotfix KB3093503 uzaktan yükleme Script’ini aşağıdaki bağlantı üzerinden indirin.
2) Aşağıdaki araçları C:\Source (veya uygun bir dizin) altında topladığınızdan emin olun.
- Install-DstHotfix.ps1 (zip ile geliyor)
- KB3093503 hotfix MSU paketleri. Uygun paketleri KB3093503 üzerinden indirmeniz gerekiyor. Bunları özellikle zip içerisine koymadım çünkü resmi kaynaktan indirmek her zaman en güvenilir yöntemdir.
- PsExec (zip ile geliyor)
- bilgisayar-listesi.txt (zip ile geliyor)
3) bilgisayar-listesi.txt içerisine uzak bilgisayarları ekleyin.
4) PowerShell konsolunu açın ve önce Execution Policy ayarını kontrol edin. Bu iş için Get-ExecutionPolicy
yapabilirsiniz. Eğer dönen sonuç Restricted ise, Set-ExecutionPolicy RemoteSigned
cmdlet’ini çalıştırarak varsayılan bir güvenlik tedbiri olan sınırlamayı kaldırabilirsiniz. Aksi halde Install-DstHotfix.ps1 çalışmayacaktır.
5) Ortamda yönetici yetkisindeki bir hesap ile oturum açın. Ardından PowerShell konsolunu başlatıp C:\Source dizinine gidin, .\Install-DstHotfix.ps1
ile yükleme işlemini başlatın ve sonra arkanıza yaslanın.
Operasyon sonrasında script ile aynı dizinde operasyon-kaydi.csv isimli bir çıktı oluşur. Bunu Excel ile açıp ufak bir biçimlendirmeden sonra tüm sonuçları detaylı olarak görebilirsiniz.
Başarı kriteriniz Excel tablosundaki Yeni DST sütunu. Hotfix’in yüklendiği ve Time Zone & DST ayarlarının sağlıklı bir şekilde uygulandığı uzak bilgisayarlar için bu sütunda 8.11.2015 04:00:00 zaman bilgisi yer alır.
Sürüm Geçmişi ve Bilinen Sorunlar
Sürüm Geçmişi:
- 22.10.2015 13:55 – v01 sürümü yayınlandı.
- 22.10.2015 15:15 – v02 sürüm yayınlandı.
- Bugfix – Başarılı yüklemeler için “Yukleme Basarili” olması gereken output ifadesi yükleme başarılı olduğu halde “Gecmiste Yuklenmis” olarak görünür. Yükleme sürecine etkisi olmayan bu çıktı hatası v02’de düzeltildi.
- 22.10.2015 16:20 – v03 sürüm yayınlandı.
- Bugfix – Sarı renkli görüntülenen “Yukleme Basarili” ifadeleri yeşil oldu.
- Bugfix – Bazı uzak bilgisayarlarda Time Zone ve DST değişimini engelleyen sorun giderildi.
- 22.10.2015 17:00 – v04 sürümü yayınlandı.
- Geliştirme – operasyon-kaydi.csv dosyasına yazılan “Açıklama” cümleleri detaylandırıldı.
- Güncelleme – Console çıktısında hatalı görünen script versiyon bilgisi düzeltildi.
Bilinen Sorunlar:
- Bazı senaryolarda restart bekleyen uzak bilgisayarlara DST Hotfix yüklemesinin başarısız olabildiği veya yükleme başarılı olduğu halde Time Zone & DST ayarlarının uygulanmadığı raporlandı. Bu konuyu kontrol ediyorum. Geçici çözüm olarak restart sonrası yüklemeyi tekrar çalıştırabilirsiniz.
Windows Server 2003 ve Windows XP
Bu sürümler için bazı özel durumlar var. Windows Server 2003 ve Windows XP için DST Hotfix yok. Bu yüzden script bu işletim sistemleri için herhangi bir yükleme yapmıyor. Sanırım bu sürümler için en mantıklı çözüm 25 Ekim öncesi DST ayarını devre dışı bırakmak ve 8 Kasım sabaha karşı veya ertesi gün tekrar aktif etmek. Bu müdahalenin saati hemen o an (yani 25 Ekim’i beklemeden) 1 saat geriye alacağını unutmayın; DST devre dışı kalınca 29 Mart 2015’te 03:00’den 04:00’e atlarken eklenen 1 saatlik ilave hemen sistem saatinden çıkartılır. Ama bu normal saati aslında 8 Kasım’da görmek istiyoruz. Bu yüzden aşağıdaki yöntemlerle DST’yi devre dışı bıraktığınızda, Time Zone’a göre de değişmekle birlikte büyük ihtimalle +1 saat eklemeniz gerekecek. Ama özellikle Active Directory Domain ortamında zaman bilgisini PDC’den alan sistemler için böyle bir oynama yapma şansınız yok çünkü ilk time sync’de eklediğiniz fark kaybolur ve saat bilgisi PDC -1 saat (çünkü DST kapalı) ile eşitlenir. Resmen karmaşa.
Müşterilerimizin ortamında az sayıda oldukları ve kritik pozisyonda olmadıkları için bizim Active Directory Domain üyesi Windows Server 2003 ve Windows XP’ler için aldığımız karar şöyle: şu an hiçbir şekilde DST ayarlarına müdahale etmiyoruz, aksine 25 Ekim’e kadar DST’nin aktif kalması gerekiyor. Bu durumdaki bilgisayarlar 25 Ekim’e kadar doğru saat ile çalışabilecekler. 25 Ekim 2015 04:00 geldiğinde ise saatlerini bir saat geri alacaklar ve local time için hem DC’ler hem de diğer hotfix’li bilgisayarlarla aralarında 1 saatlik fark oluşacak. Ama Kerberos authentication mekanizması arka planda UTC olarak operate edildiğinden logon işlemleri bu farktan etkilenmeyecek. Eğer bu konuda içiniz rahat etmezse bir de tedbir amaçlı olarak DC’ler üzerinde maximum tolerance for computer clock synchronization GPO ayarını 5dk’dan mesela 120dk’ya genişletebilirsiniz.
Windows Server 2003 ve Windows XP’ler için DST Aktif Etme
Aşağıda bu işletim sistemleri için mevcut durumu raporlayan ve gerektiğinde DST’yi 25 Ekim olarak devreye alan iki komut yer alıyor. Eğer bu süre zarfında DST’yi devre dışı bıraktıysanız zaten şu an o bilgisayarların 1 saat geri olduğunu göreceksiniz. Bu, 8 Kasım’dan önce istenen bir durum değil. Aşağıdaki yöntemle DST’yi en azından 25 Ekim’e kadar yeniden aktif etmenizi öneririm.
DST aktif bilgisayarlarda DisableAutoDaylightTimeSet
isimli bir registry anahtarı vardır ve değeri 1’dir. Windows Server 2003 ve Windows XP’lerde bu anahtarı uzaktan silerek DST’yi aktif etmek için:
REG DELETE \\Bilgisayar_Adi\HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v DisableAutoDaylightTimeSet /f
DST aktif bilgisayarlarda DisableAutoDaylightTimeSet
isimli bir registry anahtarı vardır ve değeri 1’dir. Windows Server 2003 ve Windows XP’ler üzerinde DST yapılandırmasının durumunu uzaktan kontrol etmek için:
REG QUERY \\Bilgisayar_Adi\HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v DisableAutoDaylightTimeSet
Windows Server 2003 ve Windows XP’ler için DST Erteleme
DST aktif sistemler üzerinde yaptığımız denemelerde bu iş için en sağlıklı yöntemin timezone.exe ile ertelemek olduğunu gördük. Windows Server 2003 support tools ile gelen bu aracı kullanarak Windows XP ve Windows Server 2003’lerin DST bitiş zamanlarını herhangi bir anda 8 Kasım 2015 04:00’a erteleyebilirsiniz. Araç uzaktan çalıştırmayı desteklemediği için yine PsExec.exe’den yardım almak gerekiyor. Ama aklınızda bulunsun, bilgisayarların yerel disklerine kopyalayarak direkt local’den uygulamak da mümkün.
Uygulama Adımları Şöyle:
- timezone.exe aracını bulun ve C:\Source altına kopyalayın. Bir kopyasını
şurayakoydum. Bu yöntemde timezone.exe aracının uzak bilgisayarlar üzerine kopyalanmasına gerek yok çünkü bu işi PsExec.exe otomatik olarak yapacak. - PsExec.exe aracını bulun ve C:\Source altına kopyalayın. Nereden bulacağınızı biliyorsunuz.
- PsExec.exe’ye parametre vererek time zone değişikliğini gerçekleştirin. Mesela ben tek bir uzak bilgisayarı \\faxpc şeklinde gösterdim. Satırdaki 03:0:5:03 04:0:2:11 çiftinin ilki DST başlangıcı 29 Mart 2015 03:00, ikincisi ise DST bitişi 8 Kasım 2015 04:00 anlamına geliyor. O çifti değiştirmeden kullanın.
PsExec.exe \\faxpc -c timezone.exe /s 03:0:5:03 04:0:2:11
“The command completed successfully” ve “timezone.exe exited on faxpc with error code 0” çıktılarını da gördüyseniz işlem tamamdır. Ardından aşağıdaki gibi Get-DstInfo.ps1‘i kullanarak sonucu uzaktan raporlayabilirsiniz. Dikkat ederseniz KB3093503 yüklü olmadığı halde DST tarihi olması gereken 8 Kasım 2015 04:00’a ertelenmiş durumda.
Yukarıdaki örnek tek bir uzak bilgisayar içindi. Bu komut satırını kopyalayıp uzak bilgisayar ismini değiştirdikten sonra arka arkaya çalıştırabileceğiniz gibi, aşağıdaki şekilde PsExec.exe aracına içerisinde sadece Windows XP ve Windows Server 2003’lerin olduğu bilgisayar-listesi.txt de verebilirsiniz. PsExec.exe bu dosya içerisindeki bilgisayar isimlerini alır ve aynı komutu tek tek hepsi için çalıştırır.
PsExec.exe @bilgisayar-listesi.txt -c timezone.exe /s 03:0:5:03 04:0:2:11
ÖNEMLİ: timezone.exe ile 8 Kasım 04:00’a yapılan bu erteleme işlemi takip eden yıllar için de geçerli olur. Bu yüzden 8 Kasım 2015 tarihi sonrasında herhangi bir gün (en geç 2016 yılı DST bitiş zamanına kadar) bu müdahalenin geri alınması gerekir. Bunu gerçekleştirmek için çalıştırmanız gereken komut ise şu: timezone.exe /s 03:0:5:03 04:0:5:10
Diğer taraftan sınırlı desteği hala devam eden Windows XP Embeded için yayınlanmış bir hotfix var. Ancak bu sürümü kullanan endüstriyel ortamların mutlaka bir yama çözümü olacağını düşünerek ben sciprt’e eklemedim.
Windows 10
Windows 10 için olan Hotfix ise Update Catalog’da yayınlandı: Catalog veya KB3105514. Ayrıca diğerlerinden farklı olarak WSUS’a da import edilebiliyor çünkü Update Catalog üzerinde yer alıyor. Bu yüzden yine script’e eklemeye gerek görmedim. Benden bu kadar. Yolun buradan sonrasına katırlarla devam etmeniz gerekiyor.
22.10.2015 - 14:32
Şapka çıkartılır.
22.10.2015 - 15:56
Serhat hocam ellerine sağlık.
bir de bu clientlerin veya sunucuların içinde timezone değeri
yanlış olan varsa onu düzeltseymiş daha bir tadından yenmez olurmuş sanki.
22.10.2015 - 16:25
Vasvi – Bu bir bug ve v03’te düzeldi. Aynı sunucular için yeniden çalıştırabilirsin. Yeniden fix yüklemez, sadece Time Zone ve DST’yi update eder.
22.10.2015 - 17:11
Serhat hocam elinize sağlık v03 update için Install-DstHotfix Kit zip dosyasını tekrar indiriyoruz sanırım değil mi?
22.10.2015 - 17:13
Hocam benzerini c# ile yazdım ve bir şekilde hedef makine restart pending durumdaysa bu patch aktif olamıyor. Kontrolde fayda var.
22.10.2015 - 17:13
Volkan – Doğru. İndirme kaynağı tek ve içerisinde her zaman son sürüm var. Versiyon bilgisinin eski görünmesi problemi de v04’da düzeldi.
22.10.2015 - 17:18
tşk ler
22.10.2015 - 17:18
Altug – Geri bildirim için teşekkürler. Normal şartlarda eğer herhangi bir nedenden ötürü hotfix yüklenemezse son kontrolde bunu anlıyor ve mutlaka raporluyor. Sanırım bu kontrol o gibi durumlarda sistem yöneticisi bilgilendirecektir. Ama yine de bunu bir kontrol edelim.
22.10.2015 - 17:26
Merhaba Serhat hocam,
windows 8.1 enterprise isletim sisteminde denedik ” isletim sistemi bilgisi alinamadigi icin yukleme yapilamiyor” hatasi aliyoruz.
Bilginize
22.10.2015 - 17:31
Seckin – Geri bildirim için teşekkürler. v04’ü denedin mi?
22.10.2015 - 17:36
Evet, hem v03 hem v04 u denedik.
Windows 8.1 x32/x64 isletim sistemlerinde basarili olamadi.
Yapmamiz gereken ekstra bir sey var mi ?
Tesekkurler.
22.10.2015 - 17:46
Selamlar,
Script, sadece timezone düzeltecek şekilde düzenlemek mümkün mü?
Teşekkürler.
22.10.2015 - 17:51
Süper olmuş hocam. Eline koluna sağlık…
22.10.2015 - 17:55
Serhat bey merhaba,
Öncelikle bilgiler için teşekkürler. Ben kısaca sorularımı sorup, cevaplarınızı rica edeceğim:
Teşekkürler
– networkümüzde ne yazık ki hala Windows XP ve Windows Server 2003 az da olsa bulunmakta.Bunlar için MS desteği olmadığından patch işe yaramaz ve manuel ayarlamamız gerekecek değil mi?
– VMWare ESX server üzerindeki sanal ortamda DC saati ESX ten almıyor mu?
22.10.2015 - 19:46
Seckin – O halde bence o PC’ler üzerindeki güvenlik duvarına veya AV gibi bir güvenlik uygulamasına takılıyorsunuz. En basitinden şunu deneyebilirsin: Script’i çalıştırdığın sunucu üzerinde PS konsolda aşağıdaki satırı çalıştır.
Get-WmiObject -ComputerName Buraya_Uzak_Bilgisayar_Adi -Class Win32_OperatingSystem
Bunun sonucu olarak işletim sistemi bilgisi görmen gerekiyor. Eğer göremiyorsan en basitinden güvenlik duvarını (veya varsa güvelik uygulamasını) geçici olarak kapatıp tekrar deneyebilirsin.
22.10.2015 - 19:52
Sabahattin – Mümkün tabii ama bunu en baştan tasarıma dahil etmek gerekiyordu. Hotfix geç gelince ve zaman daralınca script’i hızlıca çıkartabilmek için parametrik tasarıma girmedim. Ama şöyle bir fikir verebilirim: Time Zone’u değiştirmek için uzak bilgisayarda tzutil.exe /s “Turkey Standard Time” çalıştırman yeterli. Bu komut aynı zamanda DST’yi de aktif eder. Mesela PsExec.exe ile veya altyapı uygunsa Invoke-Command cmdlet ile tüm ortama uygulayabilirsin.
22.10.2015 - 19:55
Ali VURAL – Windows XP ve Windows Server 2003 için birazdan yazının sonuna bir çözüm ekleyeceğim. DC’lerin veya bilgisayarların saat bilgisini nereden aldıklarının DST açısından pek bir önemi yok. Hotfix, işletim sisteminde hard-coded olan 25 Ekim tarihini erteliyor.
22.10.2015 - 20:45
Serhat Hocam,
Cevap için teşekkürler. Evet, tzutil istediğimiz çözüm için iyi bir öneri. selamlar.
22.10.2015 - 22:24
Hocam,
değerli vaktini harcayıp böyle bir hizmette bulunmak takdir edilmesi gereken bir davranış. öncelikle teşekkürler. işletim sistemi SP leri eksik server/client yükleme başarılı olmuyor. bir de restart bekleyen server/client yükleme olsa da restart olmadan değişikliği kabul etmiyor. bununla ilgili bir önerin olur mu?
22.10.2015 - 23:55
Mesaiden sonra v04 ü 100 kadar sistem için çalıştırdık. Arada yapamadıkları oldu ama büyük çoğunluğu çok başarılı ve sorunsuz oldu. elinize sağlık çok teşekkür ederiz.
23.10.2015 - 00:09
Günay – Öncelikle geri bildirimler için teşekkürler.
Hangi OS için hangi SP eksik bilemiyorum ama hiç SP eksik bir OS için test etmedim; hotfix tarafından aranan bir gereksinim olabilir mi?
İkinci konu için bir Windows Server 2012 R2 hazırladım ve bir takım Windows update sonrası restart beklerken Install-DstHotfix.ps1 ile hotfix’i yüklemeyi denedim. Başarılı bir şekilde yüklendi ve ayrıca Time Zone + DST ayarları da uygulandı. Hala restart bekliyor… Senin senaryodaki işletim sistemi sürümü nedir? ve restart beklemesinin nedeni farklı bir update mi? yoksa mesela bir Windows Server role/feature veya program yüklemesi mi ne dersin? Bu arada v04 sürümüyle denedin mi diye hiç sormuyorum.
23.10.2015 - 02:58
Merhaba,
Serhat Bey çok faydalı oldu, teşekkürler.Testlerimde ben bir sorun ile karşılaşmadım.
Günay Bey, aşağıdaki updatelerden en az birinin ilgili işletim sistemleri için yüklü olması gerekiyor. İsterseniz bir kontrol edin.
Windows 2003/2008/2008R2/2012/2012R2/XP/Vista/7/8/8.1 için: KB2523087, KB2935092 veya KB3013410
Windows 2008/2008R2/2012/2012R2/ Vista/7/8/8.1 için: KB3077715
23.10.2015 - 10:36
Merhaba Serhat Bey;
Adım adım yazdıklarınızı yapmamıza rağmen aşağıdaki hatayı alıyorum.
Win 2008 ve domain ortamı..
PS C:\source> . \Install-DstHotfix.ps1
The term ‘\Install-DstHotfix.ps1’ is not recognized as the name of a cmdlet, function, script file, or operable program
. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:2
…
Suggestion [3,General]: The command \Install-DstHotfix.ps1 was not found, but does exist in the current location. Windows PowerShell doesn’t load commands from the current location by default. If you trust this command, instead type “.\\Install-DstHotfix.ps1”. See “get-help about_Command_Precedence” for more details.
23.10.2015 - 11:01
Ertan – ExecutionPolicy’e takılıyor olmalı. Script’i çalıştırmayı denediğin sunucu üzerinde;
1) Get-ExecutionPolicy ile önce duruma bak ve bunu not al: Muhtemelen “Restricted” göreceksin (veya farklı bir şey). Bu, PowerShell için varsayılan bir güvenlik önlemidir.
2) Set-ExecutionPolicy Unrestricted ile sınırlamayı kaldır.
3) Script’i çalıştır.
4) İşin bitince en son yeniden Set-ExecutionPolicy Restricted ile eski haline alabilirsin.
23.10.2015 - 11:53
Serhat Bey komutlar çalıştı teşekkür ederim. Ancak 200 pc den 20 tanesi başarılı oldu ve 180 adet pc yükleme başarısız hatası verdi. Yusuf beyin bahsettiği updatelerin olması gerekiyormu acaba.
Updateler
Windows 2003/2008/2008R2/2012/2012R2/XP/Vista/7/8/8.1 için: KB2523087, KB2935092 veya KB3013410
Windows 2008/2008R2/2012/2012R2/ Vista/7/8/8.1 için: KB3077715
23.10.2015 - 11:53
serhat hocam selamlar ,
Bazı pc lerde ; “Hotfix yuklemesi dogrulanamadi. Tekrar deneyin veya bu bilgisayar icin farkli bir yukleme yontemi tercih edin.” ,
Bazılarında ; “Isletim sistemi bilgisi alinamadigi icin yukleme yapilamadi.”
uyarısı alıyorum. Neleri kontrol etmeliyim ?
Teşekkürler…
23.10.2015 - 12:05
Serhab Bey merhaba,
Domain ortamında dc de yapılan msu güncellemesi win7 pclere time bilgisini zamanı geldiğinde gönderir mi?
23.10.2015 - 13:49
Hocam teşekkürler…
23.10.2015 - 13:51
hocam selam,
aşağıdaki gibi bir çözüm buldum. Sccm ile dağıtımına başladım. bir batch file reg file ile restart gerekmeden işlem tamamlanıyor. şu ana kadar sorun yaşamadık. artık kalanları da stajyer arkadaşlara escale edeceğiz :)
.Bat file
@echo off
xcopy “\\010.xxx.xxx.xxx\DST\*.*” “c:\dst\*.*”
regedit.exe /s “c:\DST\istanbul-dst.reg”
TZUtil /s “Turkey Standard Time”
TZChange /C “Turkey Standard Time”
.reg file
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones\Turkey Standard Time]
“MUI_Display”=”@tzres.dll,-1500”
“TZI”=hex:88,ff,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,0b,00,00,00,02,00,04,00,00,\
00,00,00,00,00,00,00,03,00,00,00,05,00,03,00,00,00,00,00,00,00
“Std”=”Turkey Standard Time”
“MUI_Std”=”@tzres.dll,-1502”
“Dlt”=”Turkey Daylight Time”
“MUI_Dlt”=”@tzres.dll,-1501”
“Display”=”(UTC+02:00) Istanbul”
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones\Turkey Standard Time\Dynamic DST]
“2010”=hex:88,ff,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,0a,00,00,00,05,00,04,00,\
00,00,00,00,00,00,00,00,03,00,00,00,05,00,03,00,00,00,00,00,00,00
“2011”=hex:88,ff,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,0a,00,00,00,05,00,04,00,\
00,00,00,00,00,00,00,00,03,00,01,00,05,00,03,00,00,00,00,00,00,00
“FirstEntry”=dword:000007da
“2012”=hex:88,ff,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,0a,00,00,00,05,00,04,00,\
00,00,00,00,00,00,00,00,03,00,00,00,05,00,03,00,00,00,00,00,00,00
“2014”=hex:88,ff,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,0a,00,00,00,05,00,04,00,\
00,00,00,00,00,00,00,00,03,00,01,00,05,00,03,00,00,00,00,00,00,00
“2013”=hex:88,ff,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,0a,00,00,00,05,00,04,00,\
00,00,00,00,00,00,00,00,03,00,00,00,05,00,03,00,00,00,00,00,00,00
“LastEntry”=dword:000007e0
“2015”=hex:88,ff,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,0b,00,00,00,02,00,04,00,\
00,00,00,00,00,00,00,00,03,00,00,00,05,00,03,00,00,00,00,00,00,00
“2016”=hex:88,ff,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,0a,00,00,00,05,00,04,00,\
00,00,00,00,00,00,00,00,03,00,00,00,05,00,03,00,00,00,00,00,00,00
23.10.2015 - 13:56
Serhat Hocam
client tarafında %50 basarılı oldu , digerlerini elle kurduruyorum :)
tesekkurler
23.10.2015 - 13:58
Ertan – Yükleme başarısız olan bilgisayarlar için log dosyasında açıklama sütununda ne yazdığı önemli. Genellikle işletim sistemi bilgisinin alınamadığı durumlarda bu sorun yaşanıyor. Bunun nedeni de genellikle uzak bilgisayar üzerindeki güvenlik duvarı veya güvenlik uygulamasının uzaktan erişimi veya komut çalıştırmayı engellemesi oluyor. Kapatıp deneyebilirsin.
23.10.2015 - 14:13
Vurur yüze ifadesi, süpermen misin bitanesi :)
Ellerine, emeğine sağlık. Vakit ayırıp bizler ile paylaşımda bulunman müthiş.
23.10.2015 - 14:18
Kaan Keskin – Bu konu için blog post’a bir ilave yapacağım.
23.10.2015 - 14:20
Hakan – Genelde güvenlik duvarı veya güvenlik yazılımlarına takılıyor veya uzak bilgisayar komut çalıştırmak için gereksinimleri karşılayamayabiliyor. %50 hiç yoktan iyi diyelim :)
23.10.2015 - 14:29
komut çalışmadı. aşağıda ki hatayı veriyor. neden olabilir acaba ? teşekkürler.
PS C:\source> .\Install-DstHotfix.ps1
File C:\source\Install-DstHotfix.ps1 cannot be l
se see “get-help about_signing” for more details
At line:1 char:24
+ .\Install-DstHotfix.ps1 <<<<
+ CategoryInfo : NotSpecified: (:)
+ FullyQualifiedErrorId : RuntimeException
23.10.2015 - 14:32
Merhaba,
Öncelikle çok teşekkürler, oldukça faydalı oldu.
Ben %60’ı geçtim ama 1400 client olunca yüzdelerin bir önemi kalmıyor,mücadeleye devam…
23.10.2015 - 14:33
Teşekkürler
6 sunucumda update sorunsuz yaptım.
23.10.2015 - 14:44
Uğur Savaş – ExecutionPolicy’e takılıyor olmalı.
1) Get-ExecutionPolicy ile önce duruma bak ve bunu not al: Muhtemelen “Restricted” göreceksin (veya farklı bir şey). Bu, PowerShell için varsayılan bir güvenlik önlemidir.
2) Set-ExecutionPolicy Unrestricted ile sınırlamayı kaldır.
3) Script’i çalıştır.
4) İşin bitince en son yeniden Set-ExecutionPolicy Restricted ile eski haline alabilirsin.
23.10.2015 - 14:45
Oguzhan Oktay – Yüklenemeyen %40’taki problem ne acaba? :)
23.10.2015 - 14:50
Merhaba Hocam,
ok. bilgiler için çok teşekkürler. eline sağlık.
23.10.2015 - 14:59
800 civarı client+server %95 başarıyla yükledik. Elinize sağlık. Şahane :)
23.10.2015 - 15:03
Genelde işletim sistemi bilgisi alınamadı hataları, acaba bu kontrolü baypass edip sadece belirli bir hotfix dosyasını kur deme şansımız varmı?
Çünkü cihazlarımın hepsinin Win7 x86 olduğunu biliyorum.
23.10.2015 - 15:45
Merhaba Serhat Hoca,
aşağıdaki hatayı alıyorum sebebini bulamadım yardımcı olurmusunuz
File C:\Source\Install-DstHotfix.ps1 cannot be loaded because the execution of scripts is disabled on this system. Plea
se see “get-help about_signing” for more details.
At line:1 char:24
+ .\Install-DstHotfix.ps1 <<<<
+ CategoryInfo : NotSpecified: (:) [], PSSecurityException
+ FullyQualifiedErrorId : RuntimeException
23.10.2015 - 15:48
Harika bir çalışma. Emeğinize sağlık hocam.
23.10.2015 - 15:48
Arkadaşlar,
“Hotfix dosyasi uzak bilgisayara kopyalanamadi. Tekrar deneyin veya bu bilgisayar icin farkli bir yukleme yontemi tercih edin.” > Yüklenmeye çalışılan işletim sistemi muhtemelen 32 bit.
“Isletim sistemi bilgisi alinamadigi icin yukleme yapilamadi.” > Ya karşı bilgisayar ayakta değil, ya da güvenliğe takılıyor.
23.10.2015 - 15:54
Tekrar Selam Serhat Hocam.
tüm dediklerinizi yaptım fakat yükleme başarısız diyor.
tek bilgisayar için denedim farklı bir kaç bilgisayarı tek tek denedim. hepsinde sonuç aynı.
komutla bilgisayarın özeliklerini de görebiliyorum. bilgisayarlarda güvenlik duvarı açık değil, virüs prg disable vs.
yetkili kullanıcı ile komutu çalıştırıyorum yinede yok olmuyor. ne yapa bilirim ?
teşekkürler.
kola gelsin.
23.10.2015 - 16:43
Oguzhan Oktay – Teorik olarak mümkün tabii. Ama bunu şu an uygulamak için tasarımı yeniden gözden geçirmek ve test sürecine girmek lazım. Bunun yerine script içerisindeki ilgili PsExec satırını ve ilgili hotfix dosyasını yeni bir script içerisinde birleştirmeyi deneyebilirsin.
23.10.2015 - 16:44
Kemalettin – ExecutionPolicy’e takılıyor olmalı.
1) Get-ExecutionPolicy ile önce duruma bak ve bunu not al: Muhtemelen “Restricted” göreceksin (veya farklı bir şey). Bu, PowerShell için varsayılan bir güvenlik önlemidir.
2) Set-ExecutionPolicy Unrestricted ile sınırlamayı kaldır.
3) Script’i çalıştır.
4) İşin bitince en son yeniden Set-ExecutionPolicy Restricted ile eski haline alabilirsin.
23.10.2015 - 17:14
Serhat Bey ;
Elinize sağlık.
RDHS kullandığım için sadece Server Sistemlere geçtim Clinet ler ile ilgilenmedim. RDHS in bir güzelliğini daha gördüm.
23.10.2015 - 18:32
Elinize, emeğinize sağlık hocam.
23.10.2015 - 22:05
Elinize Sağlık Serhat Hocam
24.10.2015 - 11:08
Bizde büyük oranda başarıyla çalıştırdık. Desteğiniz ve kısa sürede hayata geçirdiğiniz araç için çok teşekkürler. Elinize sağlık.
24.10.2015 - 12:51
Serhat Bey teşekkürler. Elinze sağlık, pek güzel olmuş.
Power Shell “Execution of script is disabled” şeklinde bir hata verdi.
Script çalıştırmadan önce;
“set-executionpolicy remotesigned” komutunu çalıştırmak gerekti bende.
Daha sonra sorunsuzca çalışmaya başladı.
24.10.2015 - 18:17
Get-DstInfo.ps1 isimli yeni bir script yayınladım: http://www.serhatakinci.com/index.php/get-dstinfo-windows-yaz-saati-uygulamasi-icin-kontrol-araci.html
Get-DstInfo.ps1 sadece raporlama yapıyor. Bu script ile ortamdaki Windows 10, Windows XP ve Windows Server 2003’ler de dahil olmak üzere tüm Windows işletim sistemleri için Local Time, Time Zone, DST Date ve KB3093503 durumunu uzaktan raporlayabilirsiniz.
24.10.2015 - 19:10
hocam, ellerine sağlık yarısını script ile yapmayı başardık. teşekkür ederiz.
24.10.2015 - 21:09
Merhaba,
Ortam dışında olan ve hotfixi almamış windows 7 ve ya windows 8.1 kullanıcılarının pazartesi ofise gelmesi durumunda saatleri farklı olacağı için etki alanına hiç girememesi gibi bir sorun yaşanır mı ?
24.10.2015 - 21:30
Salih – O bir şehir efsanesi :) çünkü Active Directory’nin varsayılan authentication protocol’ü Kerberos için sunucu (DC) ve istemci arasındaki zaman ilişkisi UTC olarak operate edilir. Eğer UTC olarak tutulan zaman bilgisi arasındaki fark varsayılan olarak 5dk’dan fazla olursa evet authantication gerçekleşmez. Ama bu hotfix ve DST gibi şeyler Local Time (yani ön yüzde görünen ülke saati diyelim) için geçerli.
24.10.2015 - 21:42
Serhat hocam,
teşekkürler :). Peki bu kullanıcılar login olduktan sonra normal çalışmalarına devam ederken etki alanı ortamında oldukları için saatleri normale gelecek. Bu durumda da hotfixi yüklemeye devam edelim mi ?
24.10.2015 - 23:51
Salih – Bu da bir başka şehir efsanesi :) Bu konu yukarıda sorulduğunda (Kaan Keskin) post’a bir ilave yapacağım demiştim ama fırsat olmadı. Bu vesileyle her iki soruyu da yanıtlamış olayım.
Hotfix geçilmemiş ve DST bitiş zamanı 25 Ekim 2015 04:00 görünen Active Directory Domain üyesi Windows’lar saat bilgisini zaten DC’den aldıkları için Pazar sabahı geri kalmayacaklarını düşünenler varsa üzgünüm ama yanılıyorlar :) çünkü mesele Local Time ile ilgili.
Client’ların PDC gibi NTP tabanlı servislerden aldıkları zaman bilgisi UTC’dir. Client OS, NTP’den aldığı bu zaman bilgisi üzerine Time Zone ayarlarına bakarak meridyen (Türkiye için +2 saat) ve gerekli ise DST (+1 saat) ilave yapar. İşte bu kombinasyonla ortaya çıkan zamana Local Time denir. Bu davranış gereği DC’nin saati ne olursa olsun, DST bitiş zamanı geldiğinde Client OS sene başında verdiği 1 saati geri alır ve DC bu konuda baskın olamaz; çünkü Local Time’ı yöneten taraf DC değil Client OS’tir. Ayrıca bu durum DC/Client authentication’larını etkilemez ve Client’lar 1 saat geri kalsa dahi normal şekilde logon olabilir çünkü Kerberos auth için dikkate alınan zaman bilgisi Local Time değil System Time‘dır ve o da UTC‘dir; yani ekleme çıkartma yapılmamış salt zaman bilgisi…
Aslında bunu test etmenin yolu çok basit: Şu an bir client üzerinde DST’yi disable et, saatin anında 1 saat geri alındığını göreceksin. Ardından bir süre o şekilde bekle, logoff/logon dene, hatta w32tm /resync falan yap, ama DC ile aradaki 1 saat farkın kapanmadığını göreceksin, ta ki DST’yi yeniden aktif edene kadar. Gerçi test etmeye de gerek yok, birkaç saat sonra gerçek geçiş anı yaşanacak :)
24.10.2015 - 23:53
Bu arada Windows XP ve Windows Server 2003’ler için support tools içerisinde gelen timezone.exe ile sağlanan bir çözüm ekledim. Sanırım en güvenilir yöntem bu.
25.10.2015 - 00:19
Abi şu yazıyı 3 gündür takip ediyorum resmen insan üstü efor sarfettin. Bilgin tecrüben yeteneğin bir tarafa bunlar zaten tartışılmaz. Ben asıl ilgin alakan için çok teşekkür ederim. Resmen ülkenin patchleme işini üstlendin :) Verdiğin bilgilerse ayrı ayrı değerli. Bizde şirkette 1500 civarı bilgisayara yükleme yaptık. Çok başarılı oldu. Bütün ekip arkadaşlarım adına tekrar teşekkrüler.
25.10.2015 - 01:33
Elinize sağlık Serhat bey.
25.10.2015 - 03:06
Serhat Hocam, bu timezone.exe ile bir win2003 ve bir xp sunucuya uyguladım. Her ikisinide set etti. Bilgilendirme için teşekkür ederim.
Windows 7 makinelerde de, Timezone ile değişiklik yapabilir miyiz? Tabi 8 Kasım dan sonra tekrar eski haline getirmek şartı ile.
25.10.2015 - 09:00
Elinize saglik Serhat hocam. Sayenizde sorunsuz atlattik.
25.10.2015 - 09:39
Akhan – Deneyebilirsin ama Windows XP ve Windows Server 2003 üzeri OS’lerde çalışmayacaktır. Onlar için KB3093503 numaralı hotfix’i yüklemek en doğru seçenek.
25.10.2015 - 11:12
25 Ekim sabahı ve sonrasında 1 saat geri kalmış Windows’lar için yapılması gerekenleri şu yazıda toparladım.
25.10.2015 - 12:28
Mert – Yüklemelerin sorunsuz olmasına çok sevindim :) Ayrıca burayı takip eden, geri bildirimde bulunan ve konunun gelişmesine katkı sağlayan herkese ben teşekkür ederim.
25.10.2015 - 12:38
Serhat Bey Merhaba,
DC Server Windows server standard. Sizin makalenizden güncellemeleri yaptım, ancak bu servera kurulum yapamadım. Ve bu yüzden dünden beri sıkıntı yaşanmakta. Şuan DC server eski saatten ilerliyor. Değişmiyor. Ne yapmamız gerekiyor?
25.10.2015 - 13:40
Harikasınız teşekkürler.. Ayrıca windowsta hotfix var..https://support.microsoft.com/en-us/kb/3093503 platforma göre mailinize atıyorlar..
25.10.2015 - 13:41
bu hotfixin çalışması için mutlaka saat diliminiz UCT:02:00 istanbul olmalı..
25.10.2015 - 14:26
Merhaba,
geç kalmış olmakla birlikte 23/10 cuma günü sitenizdeki bilgileri bulup akabinde çalışmaya başladık. adı geçen KB3093503 yamasını paket dağıtmak için kullandığımız tüm client bilgisayarlarımıza ulaştırdık, sunucularımızın tümünde de manuel olarak işlemleri tamamladık ancak saate tıkladığımızda daylight saving time ended 25 ekim .. bilgilerini görmeye başlamıştık.
Malaesef akşam geçiş oldu ve 2 sunucumuz hariç tüm sunucu ve client bilgisayarlarımızda saatte bir saat sorun var. Başta belirttiğim üzere tüm client ve server bilgisayarlarımızda yama geçili, na yapabilirim?
25.10.2015 - 14:40
“cahit
25.10.2015 – 13:41
bu hotfixin çalışması için mutlaka saat diliminiz UCT:02:00 istanbul olmalı..”
süpersiniz daha ne deyim. Şu an Empirum üzerinden time zone bilgilerini uct+2 istanbul olarak düzenleme paketini hazırlıyorum sanıyorum ilaç olacak. Bu vesileyle emeği geçen herkese teşekkürler.
25.10.2015 - 14:53
Arkadaşlar – Hotfix dağıtımını Install-DstHotfix.ps1 ile yaparsanız, aynı zamanda Time Zone ayarları da kontrol edilir ve gerekli ise (UTC+02:00) Istanbul zone’u otomatik olarak seçilir. Eğer Hotfix’i önceden manuel olarak dağıttıysanız Install-DstHotfix.ps1‘i üzerine çalıştırabilirsiniz, yeniden Hotfix yüklenmez ve bu sefer sadece Time Zone ayarları kontrol edilir ve eksi bilgisayarlarda (UTC+02:00) Istanbul seçilir. Özetle Install-DstHotfix.ps1 aracı sadece hotfix yüklemiyor, aynı zamanda Time Zone seçimini de otomatik olarak gerçekleştiriyor.
25.10.2015 - 16:17
Tayfun – Eski saat şu an olması gereken saat. 8 Kasım’da 1 saat geri alınacak.
25.10.2015 - 16:50
Merhabalar; emeğize sağlık.
Bu tür emek gerektiren çözümleri türkçe sitelerde bulmak pek mümkün olmuyor. Detaylı anlatımınız, kolay uygulanabilmesi ve version güncellemeleri ile muazzam olmuş.
600 sunucu, 900 istemci gibi bir ortamda elbette ufak hatalar alarak, manuel müdahale ederek uyguladım.
Taşın altına elinizi soktuğunuz için teşekkürler…
25.10.2015 - 21:22
Bu yazıya yapılan bazı yorumlar filtreye takılmış ve “spam” havuzuna düşmüş. Birkaç tanesini fark edip yayınladım ama yaklaşık 5.000 spam mesaj arasında kaynayanlar da olmuştur. Yorumu yapıp yayınlanmayan varsa lütfen kusura bakmasın.
25.10.2015 - 21:42
Hotfix sayfasında tüm platformlar dediğim zaman xp için de bir hotfix görüyorum, bu hotfix ile XP sorununu çözemiyor muyuz?
26.10.2015 - 00:10
bilal – O paket sadece Windows XP Embeded edition için.
26.10.2015 - 09:06
Merhaba,
farklı bir sorunsalım olsa;
Şu an tüm sistemlerde herşey yolunda ve saatler doğru ancak: outlook calendar üzerindeki önceden yapılmış tüm toplantı çağrıları bir saat farklı görünüyor. outlook calendar , time zone içerisinde utc+2 atina olarak geğiştirdiğimizde calendar kendine geliyor ancak sistem saati bir saat oynuyor.
Yabancı merkezli bir şirketiz Exchange bilgileri yukarıdan alıyor ne tavsiye edersiniz?
26.10.2015 - 10:58
Serhat hocam selamlar, elinize emeğinize sağlık.
Tüm adımları izledim ancak yükleme aşamasında aşağıdaki hatayı alıyorum.
PS C:\Source> .\Install-DstHotfix.ps1
.\Install-DstHotfix.ps1 : File C:\Source\Install-DstHotfix.ps1 cannot be loaded. The file C:\Source\Install-DstHotfix.p
s1 is not digitally signed. You cannot run this script on the current system. For more information about running script
s and setting execution policy, see about_Execution_Policies at http://go.microsoft.com/fwlink/?LinkID=135170.
At line:1 char:1
+ .\Install-DstHotfix.ps1
+ ~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : SecurityError: (:) [], PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess
26.10.2015 - 11:02
Serhat hocam eline, emeğine, zamanına teşekkürler.
26.10.2015 - 11:26
Eline sağlık üstad.
26.10.2015 - 11:53
Valla helal olsun Serhat bey, microsoft türkiye size şuku vermeli bence..
26.10.2015 - 12:27
Serhat Bey Çok teşekkürler çok yararlı bir makale oldu client denememde işe yaradı şimdi 300 cliente uygulama yapacağım.
26.10.2015 - 12:27
Serhat Hocam,
Kıymetli paylaşımınız için teşekkür ederiz…
26.10.2015 - 12:34
Serhat Hocam Selam,
Bizde yapımıza uyguladık ve sorunsuz atlattık, sayenizde kabus bir pazartesiden kurtulduk. Bu arada küçük bir bilgiyi iletmek istiyorum. 25 Ekim’ den önce kapalı oldukları için hotfixi yükleyemediğimiz makinelere bu sabah (26 Ekim) yükelmeyi gerçekleştirdik. Geç yükleme yapsak bile makineler saatlerini otomatik olması gerekene ayarladı, ekstra bir ayara gerek kalmadı.
Tekrar teşekkürler…
26.10.2015 - 13:06
bu kadar uğraşmak yerine 8 Kasım’a kadar utc+3 zaman dilimine geçsek, sonra tekrar utc+2 yapsak?
26.10.2015 - 14:34
Şahin Dağ beyin sorusuna bir cevap gelmiş mi göremedim ama 2 hafta boyunca tüm toplantılar ve takvim aktiviteleri +1 saat ileri gözüküyor. Çözümü olan var mıdır :?
26.10.2015 - 15:14
eline sağlık arkadaşım.. tşk için anca vakit buldum.. baya işimize yaradı açıkçası hiç zorlanmadan yaptık geçtik.. tekrardan tşk
26.10.2015 - 15:14
Şahin Dağ, Kerem TAŞLIEL – Normal şartlarda Exchange Server’ın Time Zone’u ile Client OS’in Time Zone’u (ve her iki tarafın da DST bitiş tarihi erteleme zamanları) aynı olduğu sürece böyle bir fark olmamalı diye düşünüyorum. Hatta ben birkaç ortamda kontrol ettiğimde daha önce oluşturulmuş takvim öğelerinde böyle bir sorun göremedim. Ama mesela Client’ın saatini 1 saat ileri aldığımda (veya Time Zone’u değiştirdiğimde) fark oluşur, ancak bu gayet normal. Acaba sizlerin ortamında server ve client arasında böyle bir fark olabilir mi?
26.10.2015 - 15:25
Şahin Dağ, Kerem TAŞLIEL – Düşününce aklıma gelen bir diğer ihtimal şu: Client’lar takvim öğelerini oluşturduğu veya kabul ettiği sırada farklı bir Time Zone içerisindeydi (muhtemelen (UTC+02:00) Athens, Bucharest) ve şimdi fix sonrasında Time Zone’ları (UTC+02:00) Istanbul oldu ve DST 8 Kasım. 25 Ekim’de (UTC+02:00) Athens, Bucharest Time Zone’undan -1 saat yapıldığı için böyle bir fark oluşuyor olabilir. Client’ların bu öğeleri yeniden düzenlemesi veya her ne kadar şu an kullanılmıyor olsa da Client’lar üzerinde o dönemki Time Zone’un da DST’sini 8 Kasım’a ertelemek gibi bir şeyler yapılabilir.
26.10.2015 - 15:55
Merhaba,
Almany aile yazıştık baya bir herkes TR’nin yaptığı bu abuklukla şaşırmış durumda ancak onların dediği sistemler bizim buradaki sunuculardan bilgileri alıyorlar ve bizler buradaki sunuculara Microsoft’un adı geçen yamasını geçemeyiz. dolayısıyla böyle bir farklı görünme yaşayacaksınız taa ki gerçekten gmt+2’ye geçinceye kadar.
Bizlerde sorunumuzu outlook üzerinden ikinci zaman dilimi ekleyip orada gmt+2 atine seçip başlık olarak GEÇİCİ yazdırmak yolunda bulduk. Kullanıcılar 8 Kasım’a kadar calender’a girip solda yer alan geçici başlıklı kısma bakıp ona göre hareket edecekler.
26.10.2015 - 16:17
Şahin Dağ – Önümüzdeki 2 hafta zorlu geçecek :)
26.10.2015 - 16:22
Serhat Bey, benim aşağıdaki sorunum neden olabilir acaba.
Serhat hocam selamlar, elinize emeğinize sağlık.
Tüm adımları izledim ancak yükleme aşamasında aşağıdaki hatayı alıyorum.
PS C:\Source> .\Install-DstHotfix.ps1
.\Install-DstHotfix.ps1 : File C:\Source\Install-DstHotfix.ps1 cannot be loaded. The file C:\Source\Install-DstHotfix.p
s1 is not digitally signed. You cannot run this script on the current system. For more information about running script
s and setting execution policy, see about_Execution_Policies at http://go.microsoft.com/fwlink/?LinkID=135170.
At line:1 char:1
+ .\Install-DstHotfix.ps1
+ ~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : SecurityError: (:) [], PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess
26.10.2015 - 16:28
Salih – ExecutionPolicy’e takılıyor olmalı.
1) Get-ExecutionPolicy ile önce duruma bak ve bunu not al: Muhtemelen “Restricted” göreceksin (veya farklı bir şey). Bu, PowerShell için varsayılan bir güvenlik önlemidir.
2) Set-ExecutionPolicy Unrestricted ile sınırlamayı kaldır.
3) Script’i çalıştır.
4) İşin bitince en son yeniden Set-ExecutionPolicy Restricted ile eski haline alabilirsin.
26.10.2015 - 19:39
merhaba Serhat hocam
windows sbs 2011 standart hotfix dogrulanmadı hatası alıyorum sbs ürünü için internet te hotfix bulamadım ?
27.10.2015 - 09:57
Adem BEKMEZ – SBS 2011 için herhangi bir fix yayınlanmadı. DST bitişini ileri ertelemek için mecburen registry müdahalesi gerekecek.
27.10.2015 - 16:26
selam serhat hocam
kullanılan bilgisayarlar win7 sıkıntı yok yalnız server 2003 çe çalışan bir program var ve clientlar bundan bilgi çekemiyor ne yazıkkı bunla ilgili ne yapılabilir yada tekrardan yapılan işlemleri nasıl geri alabiliriz.
saygılar
27.10.2015 - 16:41
Teşekkürler Serhat bey. Çok faydalı bir çalışma olmuş,kullandık ve işimizi ziyadesiyle gördü.
30.10.2015 - 21:49
Serhat Hocam Merhaba. Çok faydalı bir çalışma Ellerinize Sağlık.
Ben bunu çalıştırdım. bir uygulamanın windows servisi bir türlü başlamadı. komutu geri almak istiyorum.
Aşağıdaki notu ( Önemli ) dikkate alarak yazıyorum.
işlemi geri almak için 03: ile 04: parametresinin yerini değiştirmek gerekmez mi ?
********************************************************************
ÖNEMLİ: timezone.exe ile 8 Kasım 04:00’a yapılan bu erteleme işlemi takip eden yıllar için de geçerli olur. Bu yüzden 8 Kasım 2015 tarihi sonrasında herhangi bir gün (en geç 2016 yılı DST bitiş zamanına kadar) bu müdahalenin geri alınması gerekir.
Bunu gerçekleştirmek için çalıştırmanız gereken komut ise şu: timezone.exe /s 03:0:5:03 04:0:5:10
********************************************************************
01.11.2015 - 18:02
Apeks Gokhan – Hayır. İlk pattern DST başlangıç tarihini, ikinci pattern ise DST bitiş tarihini temsil eder. Değişikliği geri almak (yani DST bitiş tarihini yeniden 25 Ekim’e çekmek) istiyorsan tam olarak verdiğim gibi çalıştırmalısın.
02.11.2015 - 16:47
Serhat Bey, XP’ler için, 8 Kasım sonrası geri almak için, komut: timezone.exe /s 03:0:5:03 04:0:5:10 uygulayacağım. gayet açık.
Peki Windows7’ler için Hotfix yükledim. 8 Kasım sonrası ne yapmak gerekiyor?
02.11.2015 - 22:59
Rasim AKIN – Hotfix yüklenen (ve Time Zone olarak Istanbul seçili olan) sistemler için 8 Kasım sonrası herhangi bir müdahaleye gerek yok. Hotfix her şeyi hallediyor.
03.11.2015 - 16:38
Serhat Hocam öncelikle eline sağlık.
Benim firmamda halen yaklaşık 700 adet XP SP3 pc var ve timezone.exe ile hayat kurtardın.
Benim sorum xp ler 08.11.2015 te otomatik olarak geri alacak mı saatleri. Nasıl test edebilirim??
Büyük kısmı domain ortamında, diğer kısmı ise workgroup.
03.11.2015 - 17:49
Mahmut Can – timezone.exe ile birlikte verdiğim parametrelerin doğru şekilde uygulandığı tüm Windows XP’ler ve Windows Server 2003’ler 8 Kasım 04:00’da 1 saat geri alacaklar. Test etmek için bazı bilgisayarın tarihini geçici olarak ileri alabilirsin. Mesela 8 Kasım 2015 03:59:55’e al ve davranışı gözlemle…
04.11.2015 - 10:47
Workgroup da ki XP lerde 04:00 de 03:00 e geri geldi. Ancak domain üyesi XP lerde saat 04:00 oldu ve devam etti geri gelmedi. Emin olmak için timezone.exe yi tekrar çalıştırdım ve başarılı bilgisini verdi. Sizce sorun ne olabilir? Ya da neyi kaçırıyor olabilirim?
04.11.2015 - 11:18
Mahmut Can – AD Domain üyesi Windows’lar varsayılan olarak DC’ler ile zaman eşitlemesi yaptığı için belirli aralıklarda tarih/saat bilgisini update ederler, bu yüzden de elle yaptığın ileri alma işlemi ezilir. Ama zamanı geldiğinde DC’ler de Local Time bilgisini 1 saat geri alacağı için sorun olmayacak.
Get-DstInfo.ps1 ile domain üyesi makineleri raporla. Oluşan CVS dosyasındaki “DST” sütununda 8 Kasım 2015 04:00:00 gördüğünün tüm makinelerin zamanı geldiğinde saatlerini geri alacağından emin olabilirsin.
05.11.2015 - 08:52
Serhat Hocam merhaba, XP makinelerin olduğu domainde kontrol için Get-DstInfo.ps1 i çalıştırdığımda aşağıda ki hatayı alıyorum. Sizce neden olabilir? Şimdiden teşekkürler.
1 bilgisayar icin Local Time, Time Zone, DST ve KB3093503 bilgileri aliniyor…
Get-WmiObject : Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))
At C:\Source\Get-DstInfo.ps1:108 char:22
+ if($osInfo = gwmi <<<< -ComputerName $Computer -Class Win32_OperatingSystem -EA SilentlyContinue -ErrorVariable
$gwmiERR)
+ CategoryInfo : NotSpecified: (:) [Get-WmiObject], UnauthorizedAccessException
+ FullyQualifiedErrorId : System.UnauthorizedAccessException,Microsoft.PowerShell.Commands.GetWmiObjectCommand
05.11.2015 - 10:35
Mahmut Can – Get-WmiObject : Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED)) Yetki hatası. Script’i çalıştırdığın oturumun uzak bilgisayarlarda yerel yönetici yetkisinde olması gerekiyor.
05.11.2015 - 10:43
Domain Admin hakkına sahip bir kullanıcı oturumu üzerinden çalıştırıyorum. Aynı kullanıcı ile c$ üzerinden ilgili XP makinelere erişip WR işlemleri yapabiliyorum. Sorun WMI ile ilgili olabilir mi hocam?
06.11.2015 - 11:23
Mahmut Can – Olabilir. Mesela Get-WmiObject -ComputerName UzakPC -Class Win32_OperatingSystem gibi bir sorguya uzaktan yanıt alabiliyor olman lazım.