Tw-city.info

IT Новости
1 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Изменение часового пояса в домене

Централизованное изменение часового пояса в Windows XP ­ Дневник ­ Максим Боголепов

Централизованное изменение часового пояса в Windows XP

Для того, чтобы временная зона стала «правильной», к примеру – для Московского часового пояса +3 от Гринвичского, необходимо на компьютере под управлением Windows XP изменить настройки и установку данного часового пояса в реестре. Для этой цели мной был произведен экспорт ветки реестра HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionTime Zones , где хранятся данные о часовых поясах, с одного из компьютеров с Windows XP (на котором установлены все существующие на данный момент обновления от Microsoft) и небольшая модификация данной выгрузки реестра, с помощью аналогичного фрагмента реестра, полученного с компьютера под управлением Windows 7 (со всеми установленными последними обновлениями от Microsoft). Т.е. фрагмент реестра с описанием Russian Standard Time с Windows XP был заменен на модифицированный фрагмент реестра с Windows 7:

— фрагмент реестра с описанием временной зоны с компьютера под управлением Windows XP (все кавычки – прямые » ):

— фрагмент реестра с описанием временной зоны с компьютера под управлением Windows 7 (все кавычки – прямые » ):

Результирующий фрагмент реестра для Windows XP (все кавычки – прямые » ):

Повторюсь, это всего лишь фрагменты реестра с описанием Московского часового пояса (Russian Standard Time). Но, на основе этого будет несложно догадаться, как сделать подобный кусок реестра для вашей временной зоны, отличной от MSK .

Этот изменённый (результирующий) фрагмент реестра был вставлен в файл, куда ранее была экспортирована ветка реестра из Windows XP HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionTime Zones взамен существующего. Был получен вот такой файл реестра: TimeZones-XP.reg (размер – 196 КБ; формат – REG ).

Теперь осталось посредством групповых политик внести требуемые изменения на компьютеры домена под управлением Windows XP. Для этого:

1. Создаём новую политику в домене, например xp-gpo, чтобы она покрывала все необходимые нам компьютеры и открываем её на изменение.

2. Идём в Конфигурация компьютера -> Политики -> Конфигурация Windows -> Параметры безопасности -> Локальные политики -> Назначение прав пользователя и делегируем пользователям домена право изменения системного времени и изменение часового пояса, определив соответствующие значения политик:

3. Теперь идем в Конфигурация компьютера -> Политики -> Конфигурация Windows -> Параметры безопасности -> Реестр и добавляем две ветви реестра, которые мы разрешим доменным пользователям изменить на своих компьютерах:

— MACHINESOFTWAREMicrosoftWindows NTCurrentVersionTime Zones – которая, как мы отметили ранее, отвечает за настройки существующих временных зон;
— MACHINESYSTEMCurrentControlSetControlTimeZoneInformation – которая хранит значение установленной в текущий момент временной зоны.

Не забудьте в момент добавления данных веток выставить к ним права пользователям домена на полный доступ:

4. Теперь мы напишем небольшой сценарий, который будет исполняться на компьютерах Windows XP при их загрузке, до момента локального входа пользователя. Сценарий (назовём его TimeZones-XP.cmd) будет иметь вид:

Сам сценарий и файл реестра под именем TimeZones-XP.reg с изменённым описанием временных зон выложены на DFS ресурс домена, чтобы при смене файлового сервера не пришлось менять групповую политику. У меня это путь \domain.rushareTimeZones-XP . Вы можете положить их на любой доступный всем пользователям сетевой ресурс.

Данным сценарием выполняется следующее:

— осуществляется тихий импорт файла реестра, расположенного по пути \domain.rushareTimeZones-XPTimeZones-XP.reg;
— вызывается панель управления датой и временем, где устанавливается изменённый нами часовой пояс Russian Standard Time;
— останавливается служба времени;
— устанавливается заданный вручную список ntp-серверов (серверов точного времени), это могут быть как внутренние, так и внешние ip, либо hostname;
— запускается служба времени;
— уведомим службу времени, что конфигурация изменилась и чтобы внесённые нами изменения вступили в силу;
— даём команду немедленно выполнить синхронизацию внутренних часов компьютера с удалением всей накопившейся статистики ошибок.

5. Теперь необходимо поместить наш сценарий в автозагрузку компьютеров. Для этого в нашей групповой политике, предназначенной для изменения часового пояса на компьютерах под управлением Windows XP, идем по пути: Конфигурация компьютера -> Политики -> Конфигурация Windows -> Сценарии (запуск/завершение) -> Автозагрузка :

И добавляем наш сценарий TimeZones-XP.cmd:

6. Все изменённые параметры нашей групповой политики выглядят следующим образом:

7. Осталось выполнить последний, но очень важный шаг. Создадим фильтр WMI , с помощью которого данную политику мы будем применять исключительно к доменным компьютерам под управлением Windows XP. В оснастке «Управление групповой политикой» раскройте ветку лес, домены, выберите ваш домен и к нему «Фильтры WMI ». В этой ветке создайте новый фильтр WMI . Присвойте ему имя, например – windows-xp и добавьте описание, например – Применить к компьютерам с Windows XP:

Нажмите на кнопку «Добавить», для ввода запроса wmi, который позволит нам выбрать доменные компьютеры с операционной системой Windows XP. Проследите, чтобы поле «Пространство имен» выглядело как rootCIMV2, в поле «Запрос» введите:

Нажмите «ОК» и сохраните полученный фильтр.

8. Теперь необходимо связать нашу групповую политику с данным фильтром WMI . Для этого разверните ветку «Объекты групповой политики» и выберите необходимую. В правом окне, внизу в поле «Фильтры WMI » в выпадающем списке выберите наш фильтр wmi и подтвердите свой выбор:

Вот теперь, на испытуемом доменном компьютере под управлением Windows XP обновите групповую политику командой gpupdate /force , перезагрузите его и посмотрите результат. У вас должно получится следующее:

Вот таким образом мы изменили на всех компьютерах домена под управлением Windows XP часовой пояс на необходимый нам. Надеюсь, наше правительство наконец-то закончит пляски с часовыми поясами… 🙁

  • Currently 4.33/5
  • 1
  • 2
  • 3
  • 4
  • 5

Rating: 4.3/5(3 votes cast)

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

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

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

В Windows 10 окно смены настройки часового пояса перенесено в приложение Параметры (Время и язык -> Дата и время). Вызвать его, можно щелкнув ПКМ по значку с часами и выбрав в меню Настройка времени и даты.

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

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

Смена часового пояса по-умолчанию не требует от пользователя наличия административных прав (в отличии от смены времени / даты). Изменить это поведение можно с помощью локальных политики безопасности (Local Security Settingssecpol.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 это идентификатор текущего часового пояса:

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

Читать еще:  Уровень домена active directory

Если вы хотите быстро найти вывести все доступные часовые пояса, например, со сдвигом 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 HKLMSYSTEMCurrentControlSetControlTimeZoneInformation

Чтобы отключить переход на летнее время для конкретного пояса, нужно указать идентификатор часового пояса с суффиксом _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:SOFTWAREMicrosoftWindows NTCurrentVersion»
$WinOSVer = $WinOSVerReg.GetValue(«CurrentVersion»)
if ($WinOSVer -GE 6)<
tzutil.exe /s $tmZone
> Else <
$param = «/c Start `»Change tmZone`» /MIN %WINDIR%System32Control.exe TIMEDATE.CPL,,/Z «
$param += $tmZone
$proc = [System.Diagnostics.Process]::Start( «CMD.exe», $param )
>

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

В Windows информация о значении текущей часовой зоны хранится в ветке реестра

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTimeZoneInformation.

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

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

reg query HKLMSYSTEMCurrentControlSetControlTimeZoneInformation

Список доступных часовых поясов в Windows XP / Windows Server 2003 хранится в ветке реестра HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionTime 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 HKLMSYSTEMCurrentControlSetControlTimeZoneInformation

Настройка синхронизации времени в домене

Как настроить синхронизацию времени во всём домене сразу? И так, чтобы работало дальше само? А когда контроллер домена с ролью PDC изменится, что делать? А если уже синхронизация времени в домене настроена, но работает плохо, как починить?
Обо всём этом читайте в этой статье.

Немного теории

Синхронизация времени в домене может (теоретически) работать сама, безо всяких настроек. Выглядит это обычно так:

  1. Компьютеры домена и серверы синхронизируют свое время с контроллерами домена (с ближайшими к ним).
  2. Контроллеры домена синхронизируют свое время с контроллером домена, которому назначена FSMO роль PDC (в терминах windows 2000 — «первичный контроллер домена»).
  3. Контроллер домена (КД) с ролью PDC синхронизирует время с внешним источником.

А дальше — начинаются ньюансы:

  • Если контроллер домена виртуальный, в настройках виртуальной машины должна быть выключена синхронизация времени [с хостом]. Иначе (если, к примеру, хост с виртуальными машинами — в домене): виртуальный контроллер домена будет (автоматически) синхронизировать время с хостом, а хост — с ближайшим контроллером домена, т.е. со своей виртуалкой.
  • Если синхронизация времени уже настроена (вручную или через групповые политики) то задаваемые Вами новые настройки могуть не примениться (несмотря на сообщение successful во всех командах) и тогда потребуется полный сброс настроек синхронизации времени на проблемных компьютерах или контроллерах домена.

Как проверить, работает ли синхронизация времени в домене?

До того, как что-либо «ломать» (и в процессе настройки, чтобы проверять эффективность вносимых изменений) необходимо производить диагностику текущего состояния, а также анализировать текущую конфигурацию службы времени. Этому призваны помочь несколько команд, указанных ниже.

Команда
w32tm /monitor

  1. Может быть выполнена на любом компьютере (или контроллере) домена.
  2. Показывает список всех контроллеров домена (с которыми может выполняться синхронизация времени).
  3. Для каждого контроллера домена в поле «NTP:» отображает разницу во времени с PDC контроллером домена (который является источником для синхронизации времени во всём домене).
  4. Для каждого контроллера домена в поле «RefID:» отображается информация об источнике синхронизации времени для этого контроллера домена. Для всех контроллеров домена (кроме КД с ролью PDC) это должен быть либо другой контроллер домена, либо КД с ролью PDC.

Команда
w32tm /query /Source
или
w32tm /query /peers

  1. Может быть выполнена на любом компьютере или контроллере домена.
  2. Показывает источник для синхронизации времени (с каким компьютером синхронизируется время того компьютера, на котором запущена эта команда). Для любых компьютеров/серверов это должен быть один из контроллеров домена, для любого контроллера домена (кроме PDC) это должен быть другой КД (обычно — с ролью PDC), для КД с ролью PDC это должен быть внешний источник синхронизации времени (интернет).
    Если в результатах выполнения команды отобразилось сообщение «VM IC Time Synchronization Provider» — значит, эта виртуальная машина синхронизируется с хостом виртуализации. Если эта виртуальная машина — один из контроллеров домена, такую настройку следует изменить!

Команда
w32tm /query /Configuration /verbose

  1. Может быть выполнена на любом компьютере или контроллере домена.
  2. Выводит все настройки службы времени windows для текущего компьютера.
  3. Убедитесь, что в результатах выполнения команды на всех компьютерах и контроллерах домена (кроме PDC) в разделе [TimeProviders] поле Type имеет значение NT5DS. Если это не так, настройки синхронизации на таких компьютерах надо исправлять (как — см. далее).
  4. Если у Вас Windows 2003, то Вы не можете выполнить эту команду. Вместо этого Вы можете посмотреть параметры конфигурации службы времени в реестре: HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32TimeParameters, в частности параметр Type.

Команда
w32tm /query /status /verbose

  1. Может быть выполнена на любом компьютере или контроллере домена.
  2. Отображет состояние синхронизации (в т.ч. источник синхронизации, время и статус последней синхронизации) для компьютера, на котором выполняется. Опция «/verbose» дает более подробную информацию.

Команда
w32tm /stripchart /computer:» » /samples:3 /dataonly

Сравнивает время (и отображает разницу во времени) на текущем компьютере с компьютером, указанном в аргументе /computer. Компьютер-источник для сравнения времени может быть как в интернете, так и в локальном домене. Примеры команды:
w32tm /stripchart /computer:»ntp.org» /samples:3 /dataonly
или
w32tm /stripchart /computer:»dc1.domain.local» /samples:3 /dataonly

Как исправить настройки синхронизации времени

Настройка синхронизации времени на компьютерах и контроллерах домена
(кроме КД с ролью PDC)

  1. Найдите все групповые политики, изменяющие настройки синхронизации времени, и отключите такие политики. Через групповые политики служба времени настраивается здесь: gpedit.msc => «Computer Configuration» => «Administrative Templates» => «System» => «Windows Time Service» => «Time Providers». Проверьте, что политики синхронизации времени не применяются, для этого можно выполнить команду:
    gpresult /R
  2. Проверьте, что на всех виртуальных машинах — контроллерах домена отключена синхронизация времени с хостами виртуализации. Для этого (в Hyper-V) можно зайти в свойства виртуальной машины, раздел средств интеграции и отключить синхронизацию времени. После чего конфигурацию службы времени (на виртуальном контроллере домена) нужно обновить.
  3. Обновите конфигурацию на всех проблемных компьютерах / контроллерах домена (кроме КД с ролью PDC):
    w32tm /config /syncfromflags:DOMHIER /update
  4. Выполните принудительную синхронизацию времени, дав команду заново найти источники синхронизации времени:
    w32tm /resync /rediscover
  5. Если вышеуказанные действия не помогают, перезагрузите службу времени (на проблемных компьютерах)
    net stop w32time
    net start w32time
    и заново выполните пункты 3 и 4.
  6. Если вышеуказанные действия не помогли решить проблему с синхронизацией времени, необходима перерегистрация службы времени на проблемных компьютерах (и повторная настройка параметров).
    net stop w32time
    w32tm /unregister
    w32tm /register
    net start w32time
Читать еще:  C домен приложения

Настройка синхронизации времени на контроллере домена с ролью PDC

Настройки времени на КД с ролью PDC принципиально отличаются от настроек на всех остальных компьютерах в домене (включая остальные контроллеры домена). PDC является источником времени во всём домене, именно его время будет использовано (прямо или косвенно — через другие контроллеры домена) всеми остальными компьютерами.

  1. Если контроллер домена с ролью PDC — виртуальная машина, убедитесь, в настройках этой виртуальной машины отключена синхронизациия времени с хостом, на котором она находится!
  2. Убедитесь, что групповые политики синхронизации времени во всем домене (если они у Вас есть) не применяются к КД с ролью PDC! У этого компьютера источник времени — в интернете, и тип синхронизации времени (в отличие от всего остального домена) не NT5DS, а NTP!
  3. Если есть сомнения в том, что синхронизация времени на КД с ролью PDC выполняется правильно, проще всего выполнить перерегистрацию и повторную настройку службы времени.

Перерегистрация службы времени на контроллере домена с ролью PDC

Для отмены регистрации и повторной регистрации службы времени выполните следующие команды:

net stop w32time
w32tm /unregister
w32tm /register
net start w32time

Настройка синхронизации времени на контроллере домена с ролью PDC

Наш КД с ролью PDC необходимо настроить на синхронизацию с внешним источником (в интернете). Для этой цели не подходит тип синхронизации NT5DS и синхронизации в соответствии с иерархией домена (DOMHIER). Поэтому на нашем КД с ролью PDC мы используем тип синхронизации NTP и синхронизация будет настроена вручную (MANUAL). Источники синхронизации (peers) указываются в кавычках, а если таких источников несколько, то они перечисляются через запятую. Кроме того, мы даем указание считать данный источник синхронизации (КД с ролью PDC) надежным источником времени (reliable):

w32tm /config /syncfromflags:manual /manualpeerlist:»0.pool.ntp.org, 1.pool.ntp.org, 2.pool.ntp.org» /reliable:yes /update

Теперь можно ускорить применение параметров и синхронизацию времени, перезагрузив службу времени и форсировав синхронизацию:

net stop w32time
net start w32time
w32tm /resync /force или w32tm /resync /rediscover

После выполнения этих команд (сделав паузу в несколько минут на применение параметров и выполнение синхронизации) сравните время на контроллере домена с временем в интернете:

w32tm /stripchart /computer:»0.ru.pool.ntp.org» /samples:3 /dataonly

Не забудьте проверить, что на всех контроллерах домена время синхронизировалось с PDC. Для этого наберите команду:

Всё должно заработать!

P.S.: Обратите внимание, что применение параметров команды w32tm требует времени. Поэтому после каждого обновления конфигурации рекомендуем делать паузу в 1-5 минут, а потом уже проверять, обновилась ли конфигурация службы времени, и как всё работает.

Источники информации для данной статьи:

Статья опубликована: 20.08.2017, обновлена 31.01.2020

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

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

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

В Windows 10 окно смены настройки часового пояса перенесено в приложение Параметры (Время и язык -> Дата и время). Вызвать его, можно щелкнув ПКМ по значку с часами и выбрав в меню Настройка времени и даты.

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

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

Смена часового пояса по-умолчанию не требует от пользователя наличия административных прав (в отличии от смены времени / даты). Изменить это поведение можно с помощью локальных политики безопасности (Local Security Settingssecpol.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 HKLMSYSTEMCurrentControlSetControlTimeZoneInformation

Чтобы отключить переход на летнее время для конкретного пояса, нужно указать идентификатор часового пояса с суффиксом _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:SOFTWAREMicrosoftWindows NTCurrentVersion»
$WinOSVer = $WinOSVerReg.GetValue(«CurrentVersion»)
if ($WinOSVer -GE 6)<
tzutil.exe /s $tmZone
> Else <
$param = «/c Start `»Change tmZone`» /MIN %WINDIR%System32Control.exe TIMEDATE.CPL,,/Z «
$param += $tmZone
$proc = [System.Diagnostics.Process]::Start( «CMD.exe», $param )
>

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

В Windows информация о значении текущей часовой зоны хранится в ветке реестра

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTimeZoneInformation.

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

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

reg query HKLMSYSTEMCurrentControlSetControlTimeZoneInformation

Список доступных часовых поясов в Windows XP / Windows Server 2003 хранится в ветке реестра HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionTime Zones.

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

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

Читать еще:  Word 2003 как сделать альбомную ориентацию

Либо:

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

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

reg query HKLMSYSTEMCurrentControlSetControlTimeZoneInformation

Настраиваем NTP, Время, Часовой пояс

Сегодня пришлось повозиться на держателе домена (windows 2003) и корректно настроить ntp. Ниже будет информацию, которая мне помогла.

Процедура по восстановлению работоспособности сервиса w32tm

1. Находим все DC и того, кто из них PDC эмулятор

netdom query fsmo

2. Проверяем доступность сервера времени с PDC эмулятора

portqry –n ntp.mydomain.ua –e 123 –p UDP Querying target system called: ntp.mydomain.ua Attempting to resolve name to IP address… Name resolved to 10.10.72.17
UDP port 123 (ntp service): LISTENING or FILTERED

Должно быть именно так “LISTENING or FILTERED”.

Эта утилита входит в комплект Support Tools для Windows 2003 Server. К сожалению, на Windows 2008 R2 она не работает.

3. В regedit открываем параметры ntp сервера

Там должен быть записан ip адрес или полное имя нашего ntp сервера и запись должна обязательно заканчиваться строкой “,0x1”. Кавычки, понятное дело, нужно убрать. Для уверенности в том, что тут нету ошибки, можно пропинговать указанный ntp-сервер.

4. Там же, следует перейти к параметру Type:

и убедиться, что там прописано NTP, а не NT5DS

5. Теперь следует проверить еще одно значение: AnnounceFlags

тут должна быть 5

6. Перезапускаем сервис времени:

net stop w32time && net start w32time

7. Синхронизируемся:

w32tm /resync /rediscover

8. На остальных контроллерах домена рекомендуется переустановить службу времени

Команда: «w32tm /unregister && w32tm /register» удаляет службу времени, а затем снова ее устанавливает, причем, что важно, удаляется, а затем создается заново вся ветка параметров в реестре.

9. Рекомендуется перезапустить контроллер домена, являющийся pdc эмулятором, да и все остальные тоже.

10. Если на pdc эмуляторе ошибки все равно наблюдаются, то стоит попробовать изменить формат клиентских запросов

Меняем значение с 0x1 на 0x8

11. Перезапускаем сервис времени

net stop w32time && net start w32time

12. Рекомендуется проверить все политики, имеющие отношение к настройкам сервиса времени:

Default Domain Controllers group policy, Default Domain group policy и другие в которых изменены любые значения в разделе

Computer configuration/Administrative Templates /System/Windows Time service/Time Providers

Убедитесь, что все значения там в состоянии “not configured”. При необходимости, играть с параметрами следует позже.

Если что-то меняли в политике, то перезапускаем сервис времени: net stop w32time && net start w32time

13. Если так ничего не помогло, то нужно обнулить параметры сервиса времени и на pdc эмуляторе:

net stop w32time w32tm /unregister w32tm /register

После чего нужно будет настраивать все параметры заново, начиная с п.3.

Если вдруг, на этапе удаления напишет про запрет доступа, то нужно перезагрузиться.

Включение лога сервиса времени

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

Если нижеприведенных ключей там нету, а их нету по умолчанию, то их следует создать

  • FileLogSize, Type: DWORD, Data: 10000000 — максимальный размер лог-файла в байтах.
  • FileLogName, Type: REG_SZ (String), Data: C:Testw32time_log.txt — адрес нахождения лог-файла
  • FileLogEntries, Type: REG_SZ (String), Value: 0-116 — уровень детализации лога. Максимальный диапазон: 0-300.

Вместо изменения значений в реестре, можно то же самое сделать из командной строки:

Чтобы выключить логи отладки можно ввести команду:

Если Вы перенесли роль PDC Emulator на другой сервер, необходимо дополнительно выполнить настройку старого сервера командой

и перезапустить службу времени:

Первое решение проблемы «no time data was available»

Еще раз обращу внимание, что проблема была в доменных политиках.

Команда w32tm /resync выдавала ошибку

The computer did not resync because no time data was available.

Решено это было следующим образом:

  1. Start / Run / dsa.msc / OK.
  2. Right-click the Domain Controllers container and press Properties.
  3. Select the Group Policy tab.
  4. Select the Default Domain Controllers Policy and press Edit. If GPMC is implemented, press Open first.
  5. Expand Computer Configuration / Administrative Templates / System / Windows Time Service.
  6. Right-click Global Configuration Settings and press Properties.
  7. Select Not Configured.
  8. Press Apply and OK.
  9. Expand Windows Time Service.
  10. Double-click Enable Windows NTP Client.
  11. Select Not Configured.
  12. Press Apply and OK.
  13. Double-click Configure Windows NTP Client.
  14. Select Not Configured.
  15. Press Apply and OK.
  16. Double-click Enable Windows NTP Server.
  17. Select Not Configured.
  18. Press Apply and OK.
  19. Exit the Group Policy Editor.
  20. Close any open policy dialog boxes.
  21. Open a CMD.EXE window.
  22. Type gpupdate /force and press Enter.

Второе решение проблемы «no time data was available»

Во второй раз с этой же ошибкой с я столкнулся через пару лет. При попытке получить время от нашего cisco роутера, при помощи команды w32tm /resync, видел ошибку:

Sending resync command to local computer.
The computer did not resync because no time data was available.

Команда синхронизации отправлена на local computer.
Синхронизация не выполнена, поскольку нет доступных данных о времени.

При этом вышеописанные действия уже были совершены.

Служба win32time отсылала «симметрические пакеты»: в снифере wireshark я видел что windows сервер отсылает пакеты «NTP Version 3, symmetric active», но никакого ответа от CISCO не получал.

В логах службы сообщалось «No response from peer», а в логах роутера:

В этой случае мне помогла команда:

и перезапуск службы времени.

После этого в wireshark увидел нормальный обмен пакетами:

  • windows сервер посылал пакеты «NTP Version 3, client»
  • cisco роутер отвечал пакетами «NTP Version 3, server»

Настраиваем период синхронизации времени

Инструкция работает на компьютерах которые не включены в домен.

Переходим к редактированию реестра: HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32Time TimeProvidersNtpClientSpecialPollInterval — ключ в реестре, задает период обновления синхронизации времени в системе в секундах. Вводим в десятичном формате необходимый период.

После этого перезагружаем компьютер или вводим команду w32tm /config /update

Проверить с какой периодичностью происходит синхронизация времени:

  • Кликаем по часам в панели задач
  • Переходим к «изменение настроек даты и времени», вкладка «Время по Интернету»
  • Жмем кнопку «Изменить параметры»
  • Убеждаемся что установлена галочка возле «Синхронизировать с сервером времени в Интернете»
  • Выбираем нужный сервер, жмем кнопку «Обновить сейчас» и ждем пока не появиться надпись «Время было успешно синхронизировано», если же увидели надпись «Ошибка при выполнении синхронизации» то выбираем другой сервер.
  • После успешной синхронизации жмем кнопку «ОК» и на вкладке «Время по Интернету» смотрим когда будет «Следующее выполнение синхронизации»

Указание часового пояса через групповые политики

  • Открываем политику для контейнера где находиться компьютер
  • Переходим к Конфигурация компьютера — Настройка — Конфигурация Windows — Реестр
  • Левый клик по правой белой области в области «Реестр» и выбираем пункт меню «Создать» — «Мастер реестра»
  • Выбираем компьютер на котором установлен нужный часовой пояс (у меня это локальный)
  • В Браузере реестра переходим к «HKLM System CurrentControlSet Control TimeZoneInformation»
  • Отмечаем все ключи в этой папке и жмем «готово»
  • Все теперь на локальных компьютерах автоматически будет устанавливаться необходимый часовой пояс и после перезагрузки устанавливаться правильной время

Полезные команды связанные со службой времени ntp:

  • netdom query fsmo — раскажет кто PDC (главный сервер времени в домене)
  • w32tm /monitor
  • w32tm /config /manualpeerlist:time.windows.com,0x1 /syncfromflags:manual /reliable:yes /update — команда которая настроит ваш доменный контроллер с ролью «Эмулятора PDC» на синхронизацию с внешним источником
  • w32tm /stripchart /computer:time.windows.com /samples:5 /dataonly — 5 сравнений с источником
  • net time /querysntp — показывает кто является ntp сервером
  • w32tm /query /peers — показывает источник, сколько времени осталось до синхронизации, режим работы, страту, интервал опроса
  • w32tm /query /status — отображает индикатор помех, старту, точность, задержку корня, дисперсию, время последней успешной синхронизации, источник и интервал опроса
  • net time /setsntp:192.168.1.1 — задает ntp-сервер.
  • w32tm /debug /enable /file:C:Testw32time_log.txt /size:100000 /entries:0-300 — включаем ведение лога службой времени
  • w32tm /debug /disable — отключаем логирование
  • w32tm /config /update — применить/обновить конфигурацию.
  • w32tm /query /configuration — полный список параметров службы

Помните что после любых изменений в конфигурации ntp-службы нужно ее перезапускать, команда:

Ссылка на основную публикацию
ВсеИнструменты 220 Вольт
Adblock
detector
×
×