Time Zone (Group Policy) ile nasıl değiştirilir ?

Microsoft 1 dk okuma

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

Komut · 21 satır
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
Next

Tı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

  1. Betiği zamandilimi.vbs adıyla kaydedin.
  2. Group Policy Management'ta ilgili nesneyi düzenleyin.
  3. Computer ConfigurationPoliciesWindows SettingsScripts (Startup/Shutdown) yolunu izleyin.
  4. 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.