Чтобы устройство Windows отображало правильное время, часовой пояс, установленный на устройстве, должен соответствовать географическому положению вашего компьютера. В этой статье объясняется, как установить часовой пояс в Windows Server и настольных редакциях (Windows 10 или 11) с помощью панели управления, командной строки, PowerShell или групповой политики.
Изменение часового пояса в Windows с помощью панели управления
Начиная с Windows 10 и Windows Server 2016, для настройки часового пояса используется отдельный раздел панели настроек. Выполните команду ms-settings:dateandtime
или щелкните значок часов в системном трее и выберите Настроить дату/время.
По умолчанию Windows автоматически синхронизирует время и выбирает подходящий часовой пояс для вашего компьютера (в Установить часовой пояс автоматически опция включена).
Чтобы вручную установить часовой пояс, отключите этот параметр и выберите часовой пояс из выпадающего списка.
Для управления часовым поясом в Windows можно также использовать классический апплет панели управления «Дата и время» (выполните команду timedate.cpl
При попытке изменить часовой пояс в 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. Откройте редактор локальной групповой политики (gpedit.msc
), перейдите в раздел Конфигурация компьютера -> Параметры Windows -> Параметры безопасности -> Локальные политики -> Назначение прав пользователей и добавьте встроенный параметр Администраторы группа в Изменить . время зона политика.
После обновления параметров GPO запустите командную строку от имени администратора (!!!), выполните команду timedate.cpl
и теперь вы можете изменить текущий часовой пояс. В качестве обходного пути можно изменить часовой пояс из командной строки. Это описано в следующем разделе.
Как изменить часовой пояс в Windows CMD
Чтобы управлять часовым поясом в Windows, используйте встроенную программу tzutil.exe (Windows Time Zone Utility) — инструмент командной строки.
Получение идентификатора текущего часового пояса (TimeZoneID):
tzutil /g
В этом примере, Тихоокеанское стандартное время идентификатор текущего часового пояса.
Список всех часовых поясов с их названиями и настройками:
tzutil /l
Если вы хотите быстро найти и отобразить все часовые пояса с определенным смещением (например, с UTC -6
смещением), выполните команду:
tzutil /l | find /I "utc-06"
Измените текущий часовой пояс на (UTC-05:00) Восточное время (США & Канада):
tzutil /s "Eastern Standard Time"
Следующий ключ реестра содержит текущий часовой пояс, установленный в Windows:
reg query HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation
Чтобы отключить переход на летнее время для определенного часового пояса, необходимо указать идентификатор часового пояса с суффиксом _dstoff:
tzutil /s “Central European Standard Time_dstoff”
Эта команда изменяет часовой пояс компьютера и отключает сезонную смену часов.
Все настройки часового пояса, включая переход на летнее время, можно просмотреть следующим образом:
w32tm /tz
Time zone: Current:TIME_ZONE_ID_UNKNOWN Bias: 480min (UTC=LocalTime+Bias) [Standard Name:"Pacific Standard Time" Bias:0min Date:(unspecified)] [Daylight Name:"Pacific Standard Time" Bias:0min Date:(unspecified)]
Установка часового пояса с помощью PowerShell
Чтобы проверить текущий часовой пояс Windows с помощью PowerShell, выполните команду
Get-TimeZone
Id : Pacific Standard Time DisplayName : (UTC-08:00) Pacific Time (US & Canada) StandardName : Pacific Standard Time DaylightName : Pacific Standard Time BaseUtcOffset : -08:00:00 SupportsDaylightSavingTime : False
Список доступных часовых поясов:
Get-TimeZone -ListAvailable
Вы можете использовать фильтр для поиска по списку часовых поясов:
Get-TimeZone -ListAvailable | Where-Object {$_.displayname -like "*canada*"}
Установите новый часовой пояс в Windows:
Set-TimeZone -Name "US Eastern Standard Time"
или
GetTimeZone -ListAvailable|? DisplayName -like "*Berlin*"|Set-TimeZone
Запрос списка удаленных узлов Windows Server на предмет их настроек часового пояса (список в txt-файле):
$servers = get-content C:\ps\server_list.txt
Get-WMIObject -Class Win32_TimeZone -Computer $servers | select-Object PSComputerName, Caption
Установите часовой пояс в списке удаленных компьютеров Windows:
$servers = get-content C:\ps\server_list.txt
Invoke-Command -ComputerName $servers -Command {Set-TimeZone "West Asia Standard Time"}
Настройка часового пояса с помощью групповой политики
Вы можете централизованно настроить часовой пояс на компьютерах, подключенных к домену AD, с помощью групповой политики. GPO не имеет встроенных параметров политики для настройки часового пояса. Наиболее распространены следующие два способа настройки часового пояса с помощью GPO: использование сценария входа в систему GPO или импорт параметров часового пояса в реестр.
Чтобы установить часовой пояс с помощью сценария входа в систему GPO, можно использовать простой сценарий PowerShell (он работает со всеми версиями Windows):
$timeZone = "Central Europe Daylight Time"
$WinOSVerReg = Get-Item "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion"
$WinOSVer = $WinOSVerReg.GetValue("CurrentVersion")
if ($WinOSVer -GE 6){
tzutil.exe /s $timeZone
} Else {
$params = "/c Start `"Change timeZone`" /MIN %WINDIR%\System32\Control.exe TIMEDATE.CPL,,/Z "
$params += $timeZone
$proc = [System.Diagnostics.Process]::Start( "CMD.exe", $params )
}
Другим способом установки часового пояса является импорт содержимого файла HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation ключ с эталонного компьютера с правильными параметрами времени, настроенными на других компьютерах с помощью GPO. В этой статье описывается, как импортировать параметры реестра с помощью групповой политики.
Выберите весь ключ реестра с помощью обозревателя реестра. Это импортирует все параметры часового пояса в редактор GPO (Computer Configuration -> Preferences -> Windows Settings -> Registry).
Использование GPP Нацеливание на уровень предмета если вы хотите назначить разные настройки часового пояса для компьютеров в разных сайтах Active Directory.
Если вы используете терминальные RDS-фермы, а пользователи и RDSH-серверы находятся в разных часовых поясах, сеансы RDP будут показывать пользователю неправильное время. Чтобы перенаправить локальный часовой пояс пользователя в сеанс RDP, включите опцию GPO Разрешить перенаправление часового пояса (Computer Configuration > Policies -> Administrative Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Session Host -> Device and Resource Redirection).