Смена часового пояса в Windows из командной строки | Windows для системных администраторов

Смена часового пояса в Windows из командной строки

В качестве одного из базовых параметров времени, помимо собственно, времени и даты, во всех компьютерных системах является понятие часового пояса (Time zone). Для корректного отображения времени в системе, часовой пояс должен быть установлен в соответствии с географическим расположением компьютера.

В ОС семейства Windows проще всего изменить часовой пояс непосредственно из графического интерфейса, щелкнув по значку часов в системном трее и выбрав пункт Change date and time settings. Далее нужно нажать на кнопку Change Time Zone, выбрать из списка доступных часовых поясов подходящий и сохранить изменения.

Совет. Это же окно вызывается командой timedate.cpl.

Windows 8 как изменить часовой пояс из графического интерфейса

В Windows изменить часовой пояс можно также и из командой строки. Конкретный способ зависит от используемой версии Windows. Рассмотрим возможные варианты.

Указанными способами придется сменить часовой пояс Windows в регионах, которые переходят в другие часовые пояса 26 октября 2014 во время. перехода России на зимнее время

Права на смену часового пояса


Смена часового пояса по-умолчанию не требует от пользователя наличия административных прав (в отличии от смены времени / даты). Изменить это поведение можно с помощью локальных политики безопасности (Local Security Settings - secpol.msc). Интересующая нас настройка находится в разделе Security Settings -> Local Policy -> User Rights Assignment. Политика называется Change the time zone. Как вы видите, на данный момент изменить часовой пояс на компьютере может сама система, администраторы и все рядовые пользователи. Чтобы запретить обычным пользователям самим менять часовой пояс, необходимо в этой политике удалить Users из списка учетных записей. Разрешение на смену часового пояса в windows через групповые политики

Смена часового пояса в Windows XP из командной строки


Примечание. Еще раз напоминаем, что на данный момент времени поддержка Windows XP прекращена, поэтому настоятельно рекомендуем перейти на более современную версию ОС.

В Windows информация о значении текущей часовой зоны хранится в реестре в кусте HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation

В нашем случае, например, видно, что в данный момент используется часовая зона —  Ekaterinburg Standard Time.

Эту же информацию можно получить таким запросом:

reg query HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation

reg query : получить значение текущей часовой зоны

Список доступных часовых поясов в Windows XP / Windows Server 2003 хранится в реестре в кусте HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones. windows xp - список доступных часовых поясов

Чтобы изменить текущий часовой пояс на московский (GMT+04:00 -Moscow, St. Petersburg, Volgograd), воспользуемся командой:

RunDLL32.exe shell32.dll,Control_RunDLL timedate.cpl,,/Z Russian Standard Time

Либо:

Control.exe TIMEDATE.CPL,,/Z Russian Standard Time

Проверим, что часовой пояс сменился:

reg query HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation

Изменить часовой пояс из командной строки в Windows XP

Смена часового пояса в Windows 7 / Windows 8 – утилита TZUtil

Для  смены часового пояса в ОС Windows 8 / 7, Windows Server 2012 / 2008  R2 используется специальная утилита командной строки  tzutil.exe (Windows Time Zone Utility), впервые появившаяся в Windows 7 (на Vista/ Server 2008 устанавливается в виде отдельного обновления KB 2556308). Исполняемый файл утилиты хранится в каталоге %WINDIR%\System32.

Разберемся с возможностями и особенностями использования утилиты TZUtil.

Итак, запустите  командную строку (cmd.exe). Чтобы узнать  текущий часовой пояс, выполните команду:

tzutil /g

Получаеи информацию о текущем часовом поясе в Windows 8 - утилита tzutil

Выведем список всех часовых поясов так:

tzutil /l

tzutil - список доступных часовых поясов в Windows

Изменим текущий часовой пояс на Московский ((UTC+04:00) Moscow, St. Petersburg, Volgograd, Russian Standard Time)

tzutil /s "Russian Standard Time"

tzutil изменить часовой пояс Windows 8 из командной строки

Проверим, что пояс сменился другим способом:

reg query HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation

reg query HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation

Автоматизация смены часового пояса с помощью Powershell

Рассмотрим универсальный Powershell скрипт, который позволяет изменить часовой пояс на любом компьютере (скрипт предполагает, что в вашей сети до сих пор присутствуют компьютеры с Windows XP / Windows Server 2003). Этот скрипт можно назначить через групповые политики на все компьютеры домена / определенные организационные контейнеры (OU). Скрипт определяет версию ОС, и если это Windows Vista или выше, для смены часового пояса используется команда tzutil.exe, в противном случае – используется вариант смены пояса через RunDLL32.exe для Windows XP.

$tmZone = "Russian Standard Time"
$WinOSVerReg = Get-Item "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion"
$WinOSVer = $WinOSVerReg.GetValue("CurrentVersion")
if ($WinOSVer -GE 6){
tzutil.exe /s $tmZone
} Else {
$param = "/c Start `"Change tmZone`" /MIN %WINDIR%\System32\Control.exe TIMEDATE.CPL,,/Z "
$param += $tmZone
$proc = [System.Diagnostics.Process]::Start( "CMD.exe", $param )
}

Еще записи по теме: Windows 8
Понравилась статья? Скажи спасибо и расскажи друзьям!
Назад:
Вперед:

Комментариев: 6

Оставить комментарий
  1. OlannMK | 09.09.2014

    Статья идет в загажник.
    стоит вспомнить сколько было проблем после отказа от перевода стрелок и изменении часовых поясов.
    В Ближайшее время будет очередная попытка сорвать время всем администраторам :)

    Ответить
    • itpro | 15.09.2014

      Все правильно — начинаем готовить мануалы по грядущему переходу на зимнее время :) .
      Следите за новыми статьями!

      Ответить
  2. Goblinid | 24.09.2014

    А зачем так сложно?
    яимею в виду вот эти строки:
    $param = «/c Start `»Change tmZone`» /MIN %WINDIR%\System32\Control.exe TIMEDATE.CPL,,/Z «$param += $tmZone$proc = [System.Diagnostics.Process]::Start( «CMD.exe», $param )
    Ведь можно сделать «tzchange.exe /c «russian standard time»

    Ответить
  3. Phoenix | 26.09.2014

    Скажите пожалуйста, что будет если команду RunDLL32.exe shell32.dll,Control_RunDLL timedate.cpl,,/Z Russian Standard Time выполнить на Windows 7?

    Ответить
    • Анна | 21.10.2014

      Ошибка будет) про точку входа Control_RunDLL (у меня win7 pro x64)

      Ответить
      • itpro | 28.10.2014

        В Windows 7 нужно использовать утилиту tzutil

        Ответить
Полные правила комментирования на сайте winitpro.ru. Вопросы, не связанные с содержимым статьи или ее обсуждением удаляются.

Сказать Спасибо! можно на этой странице или (еще лучше) поделиться с друзями ссылкой на понравившуюся статью в любимой социальной сети(специально для этого на сайте присуствуют кнопки популярных соц. сетей).

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Я не робот( Обязательно отметьте)



MAXCACHE: 0.25MB/0.00113 sec