Как изменить часовой пояс в Windows (все способы)

Чтобы на вашем устройстве Windows показывалось правильное время, часовой пояс (time zone) на нем должен соответствовать географическому расположению компьютера. В этой статье мы рассмотрим, как задать часовой пояс в Windows из панели управления, из командной стоки, PowerShell и через групповые политики.

Настройка часового пояса через панель управления Windows

Начиная с Windows 10 и Windows Server 2016 для настройки времени часового пояса в Windows используется отдельный раздел в панели Параметры/Settings. Выполните команду ms-settings:dateandtime или щелкните по значку часов в системном трее и выберите пункт Adjust date/time (Настройка времени и даты).

По умолчанию Windows пытается автоматически синхронизировать время и выбрать часовой пояс (включена опция Set time zone automatically/Автоматически устанавливать часовой пояс).

Чтобы выбрать часовой пояс вручную, нужно отключить эту опцию и выбрать пояс в выпадающем списке.

параметры часового пояса windows 10 в приложении параметрыchasovogo-poyasa

Также для управления часовым поясом можно использовать классическое окно настройки времени в Windows (команда timedate.cpl ).

windows10 выбор часового пояса

При попытке изменить часовой пояс в Windows Server 2019 и 2022 под администратором из панели управления появляется ошибка:

Date and time
Unable to continue. You do not have permission to perform this task. Please contact your computer administrator for help.
Продолжение невозможно. У вас нет разрешения на выполнение этой задачи. Обратитесь за помощью к сетевому администратору.

Не удается задать часовой пояс в Windows Server 2019 Продолжение невозможно. У вас нет разрешения на выполнение этой задачи

Чтобы решить эту проблему, проверьте что у вашей учетной записи есть права на смену часового пояса. Откройте редактор локальной групповой политики ( gpedit.msc ), перейти в раздел Computer Configuration -> Windows Settings -> Security Settings -> Local Policiers -> User Rights Assignment и добавить встроенную группу Administrators в параметр Change the time zone.

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

После обновления настроек GPO запустите командную строку с правами администратора (!!!), выполните команду timedate.cpl и вы сможете изменить часовой пояс. Либо в качестве обходного решения вы можете изменить часовой пояс из командной строки.

Изменить часовой пояс из командной строки с помощью TZutil

Для управления часовым поясом в Windows можно использовать встроенную утилиту tzutil.exe (Windows Time Zone Utility).

Вывести идентификатор текущего часового пояса (TimeZoneID):

tzutil /g

Russian Standard Time

tzutil /g узнать текущий часовой пояс компьютера

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

tzutil /l

tzutil /l список всех часовых поясов

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

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

tzutil /l | find /I "utc+02"

поиск временных зон по UTC смещению

Чтобы изменить текущий часовой часовой пояс (UTC+03:00) Москва, Санкт-Петербург, Волгоград – (Russian Standard Time) на (UTC+04:00) Ижевск, Самара (Russia Time Zone 3), выполните команду:
tzutil /s "Russia Time Zone 3"

tzutil /s задать часовой пояс Russia Time Zone

Текущий часовой пояс хранится в следующей ветке реестра:

reg query HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation

настройки часового пояса в реестре

Если в часовом поясе предусмотрен переход на летнее время, его можно отключить. Для этого нужно указать идентификатор часового пояса с суффиксом _dstoff:

tzutil /s "Pacific Standard Time_dstoff"

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

Настройки часового пояса и сезонного перевод часов можно вывести так:

w32tm /tz

Часовой пояс: Текущий:TIME_ZONE_ID_UNKNOWN Сдвиг: -180мин (UTC=LocalTime+Bias)
[Зимнее время:"RTZ 2 (зима)" Сдвиг:0мин Дата:(не указано)]
[Летнее время:"RTZ 2 (лето)" Сдвиг:-60мин Дата:(не указано)]

w32tm /tz

В Hyper-V Server и в Windows Server Core вы можете задать часовой пояс с помощью встроенной утилиты sconfig.

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

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

Get-TimeZone

Id                         : Ekaterinburg Standard Time
DisplayName                : (UTC+05:00) Екатеринбург
StandardName               : RTZ 4 (зима)
DaylightName               : RTZ 4 (лето)
BaseUtcOffset              : 05:00:00
SupportsDaylightSavingTime : True

powershell Get-TimeZone

Вывести доступные часовые пояса:

Get-TimeZone -ListAvailable

Get-TimeZone -ListAvailable

Для поиска в списке часовых поясов воспользуйтесь фильтром:

Get-TimeZone -ListAvailable | Where-Object {$_.displayname -like "*Samara*"}

фильтр для часовых поясов в powershell

Изменить часовой пояс:

Set-TimeZone -Name "Astrakhan Standard Time"

Или

Get-TimeZone -ListAvailable|? DisplayName -like "*Moscow*"|Set-TimeZone

Удаленно получить список часовых поясов на серверах Windows (список в txt файле):

$servers = get-content C:\servers.txt
Get-WMIObject -Class Win32_TimeZone -Computer $servers | select-Object PSComputerName, Caption

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

$servers = get-content C:\servers.txt
Invoke-Command -ComputerName $servers -Command {Set-TimeZone "West Asia Standard Time"}

В этих примерах используется версия PowerShell 5.1, но они также работают и в более новых версиях.

Настройка часового пояса Windows через GPO

Для централизованной настройки часового пояса на компьютерах в домене Active Directory вы можете использовать групповые политики. Готовой политики для настройки часового пояса в GPO нет. Чаще всего используются следующие два варианта настройки часового пояса через GPO: с помощью logon скрипта GPO и с помощью импорта настроек часового пояса в реестр.

Для задания часового пояса через логон скрипт GPO, можете использовать простейший PowerShell скрипт (подходит для всех версий Windows):

$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 )
}

Другой способ настроек времени заключается в импорте содержимого ветки HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation с эталонного компьютера с настроенным временем на другие компьютеры через GPO. Процедура импорта ветки реестра через Group Policy Preferences описана в этой статье.

Выберите эту ветку целиком с помощью Registry Browser. В результате все настройки временной зоны будут импортированы в раздел редактора GPO (Computer Configuration -> Preferences -> Windows Settings -> Registry).

задать часовой пояс на компьютерах в домене ad через gpo

Если вы хотите использовать разные настройки временных зон для разных сайтов Acrive Directory, воспользуйтесь GPP Item Level Targeting. Привяжите настройки часового пояса к нужному сайту.

групповая политика для настройки часового пояса в зависимости от сайта active directoryad

Если вы используете терминальные фермы RDS серверов, и пользователи и сервера RDSH находятся в разных часовых поясах, то в RDP сессий у пользователя будет отображаться некорректное время. Чтобы перенаправить локальный часовой пояс пользователя в RDP сессию, включите параметр GPO Allow time zone redirection (Computer Configuration > Policies -> Administrative Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Session Host -> Device and Resource Redirection.


Предыдущая статья Следующая статья


Комментариев: 14 Оставить комментарий

Оставить комментарий

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

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