Domain ortamında bilgisayarların saat dilimini tek tek düzeltmek yerine bir başlangıç betiğiyle hepsine birden uygulayabilirsiniz. Aşağıdaki zaman dilimi GPO betiği, uygulandığı kapsayıcıdaki bütün bilgisayarların saat dilimini belirlediğiniz değere ayarlar.
Zaman dilimi GPO betiği
On Error Resume Next
strComputer = "."
' Değeri istediğiniz GMT farkına göre dakika cinsinden düzenleyin.
intGMTOffset = +180
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!" & strComputer & "\root\cimv2")
Set colCompSys = objWMIService.ExecQuery _
("Select * from Win32_ComputerSystem")
For Each objCompSys in colCompSys
objCompSys.CurrentTimeZone = intGMTOffset
objCompSys.Put_
If Err = 0 Then
Wscript.Echo "Time zone set to specified value."
Else
Wscript.Echo "Unable to set time zone."
End If
Err.Clear
NextTırnaklar düz olmalı (" ve '), eğri değil (“ ” ‘ ’). Word ya da bir web sayfasından kopyalarken tırnaklar sessizce eğriye dönüşür; VBScript o karakteri tanımaz ve betik ilk satırda durur. Aynı şekilde WMI yolundaki ters bölüler (\root\cimv2) da yerinde olmalıdır.
GMT farkını ayarlama
intGMTOffset değeri dakika cinsindendir, saat değil. Türkiye için +180 yazılır (GMT+3 = 180 dakika). Başka bir dilim için saat farkını 60 ile çarpın; batı yarımküre için değer eksi olur.
Betiği GPO ile dağıtma
- Betiği
zamandilimi.vbsadıyla kaydedin. - Group Policy Management'ta ilgili nesneyi düzenleyin.
- Computer Configuration › Policies › Windows Settings › Scripts (Startup/Shutdown) yolunu izleyin.
- Startup altına betiği ekleyin.
Politika uygulandıktan sonra kapsayıcıdaki bilgisayarlar her açılışta saat dilimini belirlediğiniz değere getirir.
Betik bilgisayar yapılandırmasına eklenir, kullanıcı tarafına değil: saat dilimi makine düzeyinde bir ayardır ve değiştirmek yönetici yetkisi ister. Başlangıç betikleri sistem hesabıyla çalıştığı için bu yetki oradan gelir.