Принудительная установка временной зоны

При работе мобильных клиентов в нескольких поясах появляется необходимость автоматической установки временной зоны на клиенте.

Приведу пример скрипта который выставляет значение временной зоны в GMT+3.
Для автоматизации процесса средствами GPO добавьте скрипт в автозагрузку для «компьютера».

‘ GMT+3.vbs
on error resume next

Set dtmConvertedDate = CreateObject("WbemScripting.SWbemDateTime")

strComputer = "."
Dim oWSH
Set oWSH = CreateObject("WScript.Shell")

Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

Set colOperatingSystems = objWMIService.ExecQuery ("Select * from Win32_OperatingSystem")

For Each objOperatingSystem in colOperatingSystems
    if objOperatingSystem.BuildNumber=6000 then
        wscript.Quit
    else
        set_timezone()
    end if
Next

sub set_timezone ()

  For Each objOperatingSystem in colOperatingSystems
    Lang=objOperatingSystem.OSLanguage    
  Next
  if Lang=1033 then
    oWSH.Run "RunDLL32 shell32.dll,Control_RunDLL %SystemRoot%\system32\TIMEDATE.cpl,,/Z (GMT+03:00) " &_
    "Moscow, St. Petersburg, Volgograd", 0, False
  else
    oWSH.Run "RunDLL32 shell32.dll,Control_RunDLL %SystemRoot%\system32\TIMEDATE.cpl,,/Z (GMT+03:00) " &_
    "Москва, Санкт-Петербург, Волгоград", 0, False
  end if
end sub

Для временной зоны GMT+4 необходимо заменить кусок кода на:

if Lang=1033 then
    oWSH.Run "RunDLL32 shell32.dll,Control_RunDLL %SystemRoot%\system32\TIMEDATE.cpl,,/Z (GMT+04:00) " &_
    "Yerevan", 0, False
  else
    oWSH.Run "RunDLL32 shell32.dll,Control_RunDLL %SystemRoot%\system32\TIMEDATE.cpl,,/Z (GMT+04:00) " &_
    "Ереван", 0, False
  end if

Для временной зоны GMT+5 необходимо заменить кусок кода на:

if Lang=1033 then
    oWSH.Run "RunDLL32 shell32.dll,Control_RunDLL %SystemRoot%\system32\TIMEDATE.cpl,,/Z (GMT+05:00) " &_
    "Ekaterinburg", 0, False
  else
    oWSH.Run "RunDLL32 shell32.dll,Control_RunDLL %SystemRoot%\system32\TIMEDATE.cpl,,/Z (GMT+05:00) " &_
    "Екатеринбург", 0, False
  end if

Для временной зоны GMT+6 необходимо заменить кусок кода на:

if Lang=1033 then
    oWSH.Run "RunDLL32 shell32.dll,Control_RunDLL %SystemRoot%\system32\TIMEDATE.cpl,,/Z (GMT+06:00) " &_
    "Almaty, Novosibirsk", 0, False
  else
    oWSH.Run "RunDLL32 shell32.dll,Control_RunDLL %SystemRoot%\system32\TIMEDATE.cpl,,/Z (GMT+06:00) " &_
    "Омск, Новосибирск, Алма-Ата", 0, False
  end if
Буду благодарен, если поделитесь этой статьей:

Приглашаю присоединиться ко мне в следующих сервисах:
facebook Google Plus вКонтакте Twitter
Если Вам понравилась статья, то вы можете подписаться на RSS. А также бесплатно подписаться по E-mail и получать актуальную информацию в числе первых.
Получать обновления на email

Вы можете оставить комментарий.

Добавить комментарий

XHTML: Вы можете использовать тэги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>