Как изменить часовой пояс из командной строки и через PowerShell в 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 довольно простой. Для вывода справки воспользуемся командой:

tzutil /?

chas1

Чтобы узнать текущий часовой пояс и его идентификатор (TimeZoneID), выполните команду:

tzutil /g

В данном примере Russian Standard Time это идентификатор текущего часового пояса:

chas2

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

tzutil /l

chas3

Актуальный список часовых поясов в Windows от Microsoft доступен здесь:
https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/default-time-zones.

Если вы хотите быстро найти вывести все доступные часовые пояса, например, со сдвигом UTC +2, выполните команду:

tzutil /l | find /I “utc+02”

chas5

Для того чтобы изменить текущий часовой пояс с Московского на Ижевский —  (UTC+10:00) Владивосток (Russia Time Zone 10) выполним команду:

tzutil /s “Russia Time Zone 10”

chas 6

Текущий часовой пояс хранится в реестре Windows. Вы можете проверить, что он изменился так:

reg query HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation

chas 7

Чтобы отключить переход на летнее время для конкретного пояса, нужно указать идентификатор часового пояса с суффиксом _dstoff, например:

tzutil /s “Pacific Standard Time_dstoff”

Эта команда изменит часовой пояс компьютера и отключит сезонный перевод часов.

Вы можете вывести полную информацию о часовом поясе и настройках сезонного перевод часов так:

w32tm /tz

chas 8

В Windows XP и Windows Server 2003 для смены часового пояса из командной строки нужно было использовать такие команды:

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

Или:
Control.exe TIMEDATE.CPL,,/Z Russian Standard Time

Управление часовым поясом в Windows из PowerShell

Получить настройки текущего часового пояса можно и в консоли PowerShell. Используйте команду:

[TimeZoneInfo]::Local

Или

Get-TimeZone

chas 9

В PowerShell вы можете просмотреть все возможные часовые пояса, доступные в Windows:

[System.TimeZoneInfo]::GetSystemTimeZones()

Или
Get-TimeZone -ListAvailable

chas 10

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

Get-TimeZone -ListAvailable | Where-Object {$_.displayname -like “*Самара*”}

Или:

Get-TimeZone -ListAvailable | Where-Object {$_.Id -like “*Russ*”}

chas 11

Можно вывести все часовые пояса в алфавитном порядке:

Get-TimeZone -ListAvailable | Select Id | Sort Id

chas 12

Чтобы изменить текущий часовой пояс из PowerShell, выполните команду, например:

Set-TimeZone -Id “Astrakhan Standard Time”
Нажмите на звезду, чтобы оценить!

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

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

Может быть Вам интересно
В Windows 10 и 11 появился собственный встроенный менеджер пакетов WinGet (Windows…