none
Поменять часовой пояс RRS feed

  • Вопрос

  • С 28 наш регион переходит из GMT+4 в GMT+3.

    "Всем радость, а у меня горе.." (шутка)

    В общем как можно автоматически, путем минимальных телодвижений поменять часовой пояс.

    Машины windows xp/sp3.

    ActiveDirectory

    Domain Windows 2003

    22 марта 2010 г. 5:21

Ответы

  • Нашел волшебную командную строку:

    "control timedate.cpl,,/Z Russian Standard Time"

    Достаточно запустить её с правами system или computer и получится то что нужно.

    ;-)

    • Помечено в качестве ответа Andrey Mikhailov 22 марта 2010 г. 6:22
    22 марта 2010 г. 6:22

Все ответы

  • Нашел волшебную командную строку:

    "control timedate.cpl,,/Z Russian Standard Time"

    Достаточно запустить её с правами system или computer и получится то что нужно.

    ;-)

    • Помечено в качестве ответа Andrey Mikhailov 22 марта 2010 г. 6:22
    22 марта 2010 г. 6:22
  • Ок.
    А вот решение для ОС WIndows 7 и Windows Server 2008 R2:
    tzutil /s "Russian Standard Time"

    Но оно не работает для Windows Server 2008 и Vista.
    Кто знает решение для Windows VIsta\2008 ?


    MCITP
    24 марта 2010 г. 13:22
  • Достаточно запустить её с правами system или computer и получится то что нужно.

    К сожалению, вы заблуждаетесь;). Данное утверждение верно только в том случае, если есть интерактив. То есть, если имеется вошедший в систему пользователь, или при выполнении скрипта выскакивает какой-нибудь MessageBox. А причина - привилегия SeSystemTimePrivilege. Её нужно явно использовать при запуске данной команды.

    Вот, что я набросал:

    'usage: Date(MM/DD/YYYY) "Time Zone Registry Key Name"
    
    'examples:
    '03/28/2010 "Russian Standard Time"
    '12/31/2010 "Caucasus Standard Time"
    '01/01/2011 "Central European Standard Time"
    
    On Error Resume Next
    
    Set Arguments = WScript.Arguments
    
    If DateValue(Date) >= DateValue(Arguments(0)) Then
    	'Windows XP/2003
    	Set Process = GetObject("winmgmts:{impersonationLevel=impersonate,(SystemTime)}!\\.\root\cimv2:Win32_Process")
    	Process.Create "control.exe timedate.cpl,,/Z" & Arguments(1), Null, Null, ProcessID
    
    	'Windows 7/2008 R2
    	Set Shell = CreateObject("WScript.Shell")
    	Shell.Run "tzutil.exe /s """ & Arguments(1) & """"
    End If

    Для обычных рабочих станций это просто StartUp Script, который выполняется при загрузке компьютера. Чтоб смена часового пояса происходила не раньше нужного числа в параметрах задаётся дата "срабатывания".

    Для серверов (2003/2003 R2) этот сценарий выполняется с помощью планировщика командой вида: CScript.exe "\\domain.ru\NETLOGON\Set Time Zone.vbs" "03/28/2010" "Russian Standard Time"

    Для Windows 7/2008 R2 достаточно в планировщике просто команды tzutil.exe /s "Russian Standard Time", так как явно добавлять привелегию там не требуется.

    26 марта 2010 г. 5:53
  • Коллегам, протра......ся с часовыми поясами в MS Exchange а точнее с календарями, будет интересен свежий пост в блоге Microsoft Daylight Saving Time & Time Zone Blog - Advisory: Russia decides to make time zone changes in several regions

    З.Ы.: Это реклама (c) глубокого планирования.


    MCITP
    31 марта 2010 г. 13:01