- Настройка часового пояса в Windows из командной строки и PowerShell
- Право на изменение часового пояса
- Смена часового пояса в Windows 10, 8.1 и 7– утилита TZUtil
- Управление часовым поясом из консоли PowerShell
- Автоматизация смены часового пояса с помощью Powershell
- Смена часового пояса в Windows XP из командной строки
- Как изменить часовой пояс в Windows 10
- Изменение часового пояса в Windows из командной строки
- Утилита TZUtil
- PowerShell
Настройка часового пояса в Windows из командной строки и PowerShell
В качестве одного из базовых параметров времени, помимо собственно, времени и даты, во всех компьютерных системах является понятие часового пояса (Time zone). Для корректного отображения времени в системе, часовой пояс должен быть установлен в соответствии с географическим расположением компьютера.
В ОС семейства Windows проще всего изменить часовой пояс непосредственно из графического интерфейса, щелкнув по значку часов в системном трее и выбрав пункт Change date and time settings (Настройка даты и времени). Далее нужно нажать на кнопку Change Time Zone (Изменить часовой пояс), выбрать из списка доступных часовых поясов подходящий и сохранить изменения.
В Windows 10 окно смены настройки часового пояса перенесено в приложение Параметры (Время и язык -> Дата и время). Вызвать его, можно щелкнув ПКМ по значку с часами и выбрав в меню Настройка времени и даты.
В Windows изменить часовой пояс можно также и из командой строки или консоли PowerShell. Конкретный способ зависит от используемой версии Windows. Рассмотрим возможные варианты.
Право на изменение часового пояса
Смена часового пояса по-умолчанию не требует от пользователя наличия административных прав (в отличии от смены времени / даты). Изменить это поведение можно с помощью локальных политики безопасности (Local Security Settings — secpol.msc). Интересующая нас настройка находится в разделе Security Settings -> Local Policy -> User Rights Assignment (Параметры безопасности -> Локальные политики -> Назначение прав пользователя). Политика называется Change the time zone (Изменение часового пояса). Как вы видите, на данный момент изменить часовой пояс на компьютере может сама система, администраторы и все рядовые пользователи. Чтобы запретить обычным пользователям самим менять часовой пояс, необходимо в этой политике удалить Users из списка учетных записей.
Смена часового пояса в Windows 10, 8.1 и 7– утилита TZUtil
Для смены часового пояса в ОС Windows 10 / 8.1 / 7, Windows Server 2016/ 2012 R2/ 2008 R2 используется специальная утилита командной строки tzutil.exe (Windows Time Zone Utility), впервые появившаяся в Windows 7 (на Vista/ Server 2008 устанавливается в виде отдельного обновления KB 2556308). Исполняемый файл утилиты хранится в каталоге %WINDIR%\System32.
Разберемся с возможностями и особенностями использования утилиты TZUtil.
Итак, запустите командную строку (cmd.exe). Чтобы узнать текущий часовой пояс и его идентификатор (TimeZoneID), выполните команду:
В данном примере Russian Standard Time это идентификатор текущего часового пояса:
Выведем список всех часовых поясов с их названием и идентификаторами так:
Если вы хотите быстро найти вывести все доступные часовые пояса, например, со сдвигом UTC +2, выполните команду:
tzutil /l | find /I «utc+02»
Изменим текущий часовой пояс (UTC+03:00) Москва, Санкт-Петербург, Волгоград – (Russian Standard Time) на (UTC+04:00) Ижевск, Самара (Russia Time Zone 3). Для этого нужно указать идентификатор часового пояса.
tzutil /s «Russia Time Zone 3»
Проверим, что пояс сменился другим способом:
reg query HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation
Чтобы отключить переход на летнее время для конкретного пояса, нужно указать идентификатор часового пояса с суффиксом _dstoff, например
tzutil /s “Pacific Standard Time_dstoff”
После выполнения данной команды вы измените часовой пояс компьютер и отключите сезонный перевод часов.
Также вы можете вывести информацию о часовом поясе и настройках сезонного перевод часов так:
Часовой пояс: Текущий:TIME_ZONE_ID_UNKNOWN Сдвиг: -180мин (UTC=LocalTime+Bias)
[Зимнее время:»RTZ 2 (зима)» Сдвиг:0мин Дата:(не указано)]
[Летнее время:»RTZ 2 (лето)» Сдвиг:-60мин Дата:(не указано)]
Управление часовым поясом из консоли PowerShell
Получить настройки текущего часового пояса можно и из консоли PowerShell, выполните команду
Id : Ekaterinburg Standard Time
DisplayName : (UTC+05:00) Екатеринбург
StandardName : RTZ 4 (зима)
DaylightName : RTZ 4 (лето)
BaseUtcOffset : 05:00:00
SupportsDaylightSavingTime : True
Чтобы посмотреть все возможные часовые пояса, доступные в Windows можно использовать команду Powershell:
[System.TimeZoneInfo]::GetSystemTimeZones()
Или
Get-TimeZone -ListAvailable
Для смены часового пояса из PowerShell, выполните команду:
Set-TimeZone -Name «Astrakhan Standard Time»
Автоматизация смены часового пояса с помощью 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 XP из командной строки
В Windows информация о значении текущей часовой зоны хранится в ветке реестра
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation.
В нашем случае, например, видно, что в данный момент используется часовая зона — Ekaterinburg Standard Time.
Эту же информацию можно получить таким запросом:
reg query HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation
Список доступных часовых поясов в Windows XP / Windows Server 2003 хранится в ветке реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones.
Чтобы изменить текущий часовой пояс на московский (GMT+03: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 10
В сегодняшней статье рассмотрим различные способы изменения часового пояса в Windows 10.
Изменить часовой пояс в параметрах.
1.Зайдите в меню “Пуск” => Параметры;
2.Откройте «Время и язык»;
3.В левой колонке должно быть выбрано «Дата и время», в правой стороне в поле возле “Часовой пояс” выберите нужный из списка.
После выбора пояса нажмите закрыть.
Изменить часовой пояс в панели управления.
1.Откройте «Панель управления»: один из способов — в строке поиска или в меню “Выполнить” (выполнить вызывается клавишами Win+R) введите control и нажмите клавишу Enter.
2.Откройте «Часы, язык и регион»;
3.Выберите «Дата и время»;
4.В первой вкладке «Дата и время» нужно нажать на “Изменить часовой пояс”;
5.Выберите часовой пояс, который хотите использовать и во всех окнах нажмите “ОК”.
Изменить часовой пояс в командной строке.
1.Откройте командную строку от имени администратора: нажмите на меню «Пуск» правой клавишей мыши и выберите «Командная строка (Администратор)»;
Изменение часового пояса в Windows из командной строки
Часовой пояс или временная зона (Time zone) является одним из важных системных параметров, необходимых для корректной работы операционной системы. Неправильно установленный часовой пояс может привести к проблемам в работе программ и самой ОС, поэтому его значение должно строго соответствовать географическому расположению компьютера.
Изменять часовой пояс приходится нечасто, как правило после установки ОС в этом нет необходимости. Но иногда бывают экстренные ситуации, например неожиданная отмена перехода на летнее\зимнее время и, как следствие, массовая смена часовых поясов. В этом случае нас может спасти командная строка. В Windows есть пара способов изменения часового пояса из командной строки, которые мы и рассмотрим.
Утилита TZUtil
Утилита командной строки TZUtil (Windows Time Zone Utility) специально предназначена для изменения часового пояса в операционных системах Windows. Впервые она появилась в Windows Vista\Server 2008 в качестве отдельного обновления, а начиная с Windows 7\Server 2008 R2 входит в состав операционной системы. Исполняемый файл утилиты tzutil.exe хранится в каталоге %WINDIR%\System32.
Синтаксис у tzutil довольно простой. Для вывода справки воспользуемся командой:
Просмотреть текущий часовой пояс можно командой:
А для вывода списка всех часовых поясов надо выполнить:
Для примера изменим текущий часовой пояс с Московского на Ижевский — (UTC+04:00) Ижевск, Самара (Russia Time Zone 3). Для этого выполним команду:
tzutil /s «Russia Time Zone 3»
Примечание. Для отключения перехода на летнее время при установке часового пояса необходимо к названию часового пояса добавлять суффикс _dstoff, например:
tzutil /s “Pacific Standard Time_dstoff”
В связи с отменой перехода на летнее время это не очень актуально, но кто знает 🙂
Кстати, утилита w32tm с ключом /tz также умеет показывать текущий часовой пояс:
PowerShell
Начиная с PowerShell версии 5.1 управлять часовыми поясами можно с помощью специальных командлетов Get-TimeZone и Set-TimeZone. Первый предназначен для просмотра информации о часовых поясах, второй соответственно для их изменения. Для того, чтобы посмотреть текущий пояс, надо просто выполнить команду:
А так можно вывести весь список:
Теперь вернем обратно часовой пояс (UTC+03:00) Москва, Санкт-Петербург, Волгоград (Russian Standard Time):
Set-TimeZone -Id «Russian Standard Time»
Еще для получения информации о часовых поясах можно воспользоваться статическими .Net классами System.TimeZoneInfo и System.TimeZone. Например посмотреть текущий пояс можно так:
А список часовых поясов можно вывести таким способом: