Инструменты и параметры службы времени Windows
Служба времени Windows (W32Time) синхронизирует дату и время для всех компьютеров, управляемых AD DS (доменные службы Active Directory). В этой статье рассматриваются различные средства и параметры, используемые для управления службой времени Windows.
По умолчанию компьютер, присоединенный к домену, синхронизирует время через иерархию доменов для источников времени. Но если компьютер настроен вручную для синхронизации с определенным источником времени и если он ранее не был присоединен к домену, вы можете перенастроить компьютер так, чтобы он автоматически получал данные о времени из иерархии доменов.
Большинство компьютеров, присоединенных к домену, имеют тип клиента NT5DS, что означает синхронизацию времени из иерархии доменов. Исключением является контроллер домена, который выступает в роли хозяина операций эмулятора основного контроллера домена (PDC) для корневого домена леса. Обычно хозяин операций эмулятора (PDC) настроен для синхронизации времени с внешним источником.
В домене можно синхронизировать время с точностью до одной миллисекунды. Дополнительные сведения см. в статье Граница поддержки для высокой точности времени и статье Точное время в Windows Server 2016.
Для настройки или задания времени на компьютере для запуска службы времени Windows не следует использовать команду Net time.
Кроме того, на старых компьютерах под управлением Windows XP или более ранней версии команда Net time /querysntp отображает имя NTP-сервера, с помощью которого настроена синхронизация компьютера, но этот NTP-сервер используется только в том случае, если клиент времени компьютера настроен как NTP или AllSync. Поэтому эта команда является нерекомендуемой.
Сетевой порт
Служба времени Windows соответствует спецификации NTP, которая требует использования UDP-порта 123 для синхронизации времени. Всякий раз, когда компьютер синхронизирует свои часы или предоставляет сведения о времени другому компьютеру, эта операция выполняется через UDP-порт 123. Этот порт зарезервирован исключительно службой времени Windows.
При наличии компьютера с несколькими сетевыми адаптерами (также называется многосетевым компьютером) вы не сможете включить службу времени Windows на основе сетевого адаптера.
Использование W32tm.exe
С помощью программы командной строки W32tm.exe можно настроить параметры службы времени Windows и диагностировать возникающие проблемы со временем на компьютере. W32tm.exe — это предпочтительная программа командной строки для настройки, мониторинга и устранения неполадок службы времени Windows. W32tm.exe входит в состав Windows XP и более поздних версий, а также Windows Server 2003 и более поздних версий.
Членство в локальной группе "Администраторы" требуется для запуска W32tm.exe локально, а членство в группе "Администраторы домена" требуется для удаленного запуска W32tm.exe.
Запуск W32tm.exe- В строке поиска в Windows введите cmd.
- Щелкните правой кнопкой мыши компонент Командная строка и выберите Запуск от имени администратора.
- В командной строке введите w32tm и соответствующий параметр, как описано ниже:
/domain: указывает, какой домен следует отслеживать. Если имя домена не указано или не указан ни один из параметров /domain и /computers, используется домен по умолчанию. Этот параметр можно указывать многократно.
/computers: наблюдает за заданным списком компьютеров. Имена компьютеров разделяются запятыми, без пробелов. Если имя имеет префикс * , оно рассматривается как основной контроллер домена. Этот параметр можно указывать многократно.
/computer:<computer> : указывает компьютер, который нужно повторно синхронизировать. Если не указано, будет выполнена повторная синхронизация локального компьютера.
/nowait: не ожидать повторную синхронизацию, возвращать время немедленно. Если не указан, время будет возвращаться только при повторной синхронизации.
/rediscover: переопределяет конфигурации сети и выполняет повторное обнаружение сетевых источников, после чего запускает повторную синхронизацию.
/computer:<target> : компьютер для измерения смещения.
/period:<refresh> : время между выборками в секундах. Значение по умолчанию — 2 секунды.
/dataonly: отображает только данные без графиков.
/samples:<count>: собирает примеры счетчиков><, а затем останавливается. Если не указано, примеры будут собираться до нажатия CTRL + C.
- RdtscStart: значение RDTSC (счетчик метки времени чтения), собранное непосредственно перед созданием NTP-запроса.
- RdtscEnd: значение RDTSC, собранное сразу после получения и обработки NTP-ответа.
- FileTime: локальное значение FILETIME, используемое в NTP-запросе.
- RoundtripDelay: время в секундах между созданием NTP-запроса и обработкой полученного NTP-ответа, вычисленное в соответствии с операциями циклического прохождения NTP.
- NTPOffset: смещение времени (в секундах) между локальным компьютером и NTP-сервером, вычисляемое согласно вычислениям NTP-смещения.
/update: уведомляет службу времени Windows об изменении конфигурации, что приводит к применению изменений.
/manualpeerlist:<peers>: задает список <одноранговых узлов вручную для одноранговых> узлов, который является разделенным пробелом список DNS или IP-адресов. При указании нескольких одноранговых узлов этот параметр необходимо заключить в кавычки.
- MANUAL (Вручную): добавление одноранговых узлов вручную в список одноранговых узлов.
- DOMHIER: синхронизация из контроллера домена (DC) в иерархии доменов.
- YES (Да): этот компьютер является надежной службой времени.
- NO (Нет): этот компьютер является ненадежной службой времени.
По умолчанию используется раздел HKLM\System\CurrentControlSet\Services\W32Time (корневой раздел для службы времени Windows).
/subkey:<key>: отображает значения, связанные с ключом> подраздела <ключа по умолчанию.
/computer:<target>: запрашивает сведения о целевом объекте><. Если значение не указано, по умолчанию используется локальный компьютер.
/source: отображает источник времени.
/configuration: отображение конфигурации времени выполнения и места, где берется параметр. В режиме подробного протоколирования также отображается неопределенное или неиспользуемое значение.
/peers: отображение списка узлов и их состояние.
/status: отображение состояния службы времени Windows.
/disable: отключает закрытый журнал.
- file:<name> : указывает абсолютное имя файла.
- size:<bytes> : указывает максимальный размер для циклического ведения журнала.
- entries:<value> : содержит список флагов, определяемых числом и разделенных запятыми, которые определяют типы данных, которые должны регистрироваться в журнале. Допустимые значения: 0–300. Диапазон чисел является допустимым дополнением к отдельным числам, например 0–100,103,106. Значение 0–300 предназначено для ведения журнала всех сведений.
Чтобы настроить клиентский компьютер на использование двух разных серверов времени — одного с именем ntpserver.contoso.com и второго с именем clock.adatum.com , — введите следующую команду в командной строке и нажмите клавишу ВВОД:
Настройка клиента для автоматической синхронизации времени из источника доменаЧтобы настроить клиентский компьютер, выполняющий синхронизацию времени с помощью заданного вручную компьютера, на автоматическую синхронизацию времени с иерархией доменов AD, выполните следующую команду:
Проверка конфигурации времени на клиентеЧтобы проверить конфигурацию клиента с клиентского компьютера под управлением Windows с именем узла contosoW1 , выполните следующую команду:
Выходные данные этой команды представляют собой список параметров конфигурации W32time, заданных для клиента.
В Windows Server 2016 улучшены алгоритмы синхронизации времени для соответствия спецификациям RFC. Поэтому если вы хотите настроить локальный клиент службы времени так, чтобы он указывал на несколько одноранговых узлов, рекомендуется подготовить три или более разных серверов времени.
При наличии только двух серверов времени укажите флаг Ntpserver UseAsFallbackOnly (0x2), чтобы отменить назначение приоритета одному из них. Например, если вы хотите, чтобы ntpserver.contoso.com имел приоритет над clock.adatum.com , выполните приведенную команду.
Кроме того, вы можете выполнить следующую команду и считать значение NtpServer в выходных данных:
Настройка сброса часов компьютераЧтобы сбросить часы компьютера, средство W32tm.exe сначала проверяет смещение ( CurrentTimeOffset , также называется Phase Offset ) между текущим временем и временем на часах компьютера для определения того, меньше ли смещение значения MaxAllowedPhaseOffset .
- CurrentTimeOffset MaxAllowedPhaseOffset ≤: постепенно настройте часы компьютера с помощью частоты.
- CurrentTimeOffset > MaxAllowedPhaseOffset : немедленно задайте часы компьютера.
Затем для корректировки часов компьютера с изменением тактовой частоты средство W32tm.exe вычисляет значение PhaseCorrection . Этот алгоритм может отличаться в зависимости от версии Windows:
Windows Server 2016 и более поздних версий
PhaseCorrection_raw = | CurrentTimeOffset | ÷ (16 × × PhaseCorrectRate pollIntervalInSeconds ) MaximumCorrection = | CurrentTimeOffset | ÷ ( UpdateInterval ÷ 100) PhaseCorrection = min( PhaseCorrection_raw , MaximumCorrection )
Windows Server 2012 R2 и более ранних версий.
Чтобы получить SystemClockRate значение, можно использовать следующую команду и преобразовать ее из секунд в тактовые часы с помощью формулы (секунды × 1000 × 10 000):
PhaseCorrection = | CurrentTimeOffset | ÷ ( PhaseCorrectRate × UpdateInterval )
Все версии Windows используют одно и то же окончательное уравнение для проверки PhaseCorrection :
PhaseCorrection SystemClockRate ≤ ÷ 2
Windows Server 2019 и Windows 10 1809 имеют ту же формулу, что и [Windows Server 2016 и более поздние версии], описанные выше, применяя накопительные обновления kb50067444.
В этих уравнениях используются значения PhaseCorrectRate , UpdateInterval , MaxAllowedPhaseOffset и SystemClockRate в единицах тактовой частоты часов. В системах Windows 1 мс = 10 000 тактов.
MaxAllowedPhaseOffset можно настроить в реестре. Но параметр реестра измеряется в секундах, а не в тактах часов.
Чтобы просмотреть значения SystemClockRate и pollIntervalInSeconds (измеряются в секундах), откройте окно командной строки и выполните команду W32tm /query /status /verbose . Такая команда выводит данные, аналогичные приведенным ниже. Выходные данные представляют значение для интервала опроса в тактах часов и секундах. В уравнениях используется значение в секундах (значение в скобках). Выходные данные представляют тактовую частоту часов в секундах. Чтобы просмотреть значение SystemClockRate в тактах часов, используйте следующую формулу:
( value in seconds ) × 1000 × 10 000
Например, если значение SystemClockRate равно 0,0156250 с, в уравнении используется значение в 156250 тактов часов. Полное описание настраиваемых параметров и их значений по умолчанию см. в разделе Записи подраздела Config далее в этой статье.
В следующих примерах показано, как применять эти вычисления при использовании Windows Server 2012 R2 или более ранней версии.
Пример: системные часы отстают на четыре минутыВремя вашего компьютера — 11:05, а фактическое текущее время — 11:09:
PhaseCorrectRate = 1
UpdateInterval = 30000 тактов часов
SystemClockRate = 156000 тактов часов
MaxAllowedPhaseOffset = 10 мин = 600 секунд = 600 × 1000 × 10 000 = 6000 000 000 тактов часов
| CurrentTimeOffset | = 4 мин = 4 × 60 × 1000 × 10 000 = 2 400 000 000 тактов часов
2 400 000 000 ≤ 6 000 000 000: TRUE
И удовлетворяет ли оно следующему уравнению?
(| CurrentTimeOffset | ÷ ( PhaseCorrectRate × ) ≤ UpdateInterval SystemClockRate ÷ 2)
Составляет 2400 000 000 / (30 000 × 1) ≤ 156 000 ÷ 2
80 000 ≤ 78 000: FALSE
Поэтому программа W32tm.exe немедленно бы перевела часы обратно.
В этом случае, если вы хотите постепенно перевести часы назад, вам также придется скорректировать значения PhaseCorrectRate или UpdateInterval в реестре, чтобы гарантировать истинность уравнения.
Пример: системные часы отстают на три минутыВремя вашего компьютера — 11:05, а фактическое текущее время — 11:08:
PhaseCorrectRate = 1
UpdateInterval = 30000 тактов часов
SystemClockRate = 156000 тактов часов
MaxAllowedPhaseOffset = 10 мин = 600 секунд = 600 × 1000 × 10 000 = 6000 000 000 тактов часов
| CurrentTimeOffset | = 3 мин = 3 × 60 × 1000 × 10 000 = 1800 000 000 тактов часов
1800 000 000 ≤ 6000 000 000: TRUE
И удовлетворяет ли оно следующему уравнению?
(| CurrentTimeOffset | ÷ ( PhaseCorrectRate × ) ≤ UpdateInterval SystemClockRate ÷ 2)
Составляет 3 минуты × (1800 000 000) ÷ (30 000 × 1) ≤ 156 000 ÷ 2
Имеет значение 60 000 ≤ 78 000: TRUE
В этом случае часы будут медленно возвращаться в исходное положение.
редактор локальных групповых политик;
Служба времени Windows сохраняет ряд свойств конфигурации в виде записей реестра. Для указания большинства этих сведений можно использовать объекты групповой политики (GPO) в редакторе локальных групповых политик. Например, объекты групповой политики можно использовать для настройки компьютера в качестве NTPServer или NTPClient, механизма синхронизации времени или компьютера в качестве надежного источника времени.
Параметры групповой политики для службы времени Windows можно применить на контроллерах домена Windows Server 2003, Windows Server 2003 R2, Windows Server 2008 и Windows Server 2008 R2. Также они могут применяться к компьютерам под управлением Windows Server 2003, Windows Server 2003 R2, Windows Server 2008 и Windows Server 2008 R2.
Windows хранит сведения о политике службы времени Windows в редакторе локальных групповых политик в разделе Computer Configuration\Administrative Templates\System\Windows Time Service . Windows также хранит сведения о конфигурации, определенной политиками, в реестре Windows и использует эти записи реестра, чтобы настроить записи реестра для службы времени Windows. В результате значения, определенные групповой политикой, перезапишут все существовавшие ранее значения в разделе реестра службы времени Windows. Некоторые из предустановленных параметров GPO отличаются от соответствующих записей реестра службы времени Windows по умолчанию.
Например, предположим, что вы изменяете параметры политики в разделе реестра Time Providers\Configure Windows NTP Client. Windows загружает эти параметры в область политики реестра в следующем подразделе:
Затем в Windows используются параметры политики для настройки связанных записей реестра службы времени Windows в следующем подразделе:
В следующей таблице перечислены политики, которые можно настроить для службы времени Windows, а также подразделы реестра, на которые влияют эти политики.
При удалении параметра групповой политики Windows удаляет соответствующую запись из области политики реестра.
Групповая политика 1 Расположения реестра2,3 Глобальные параметры конфигурации W32TimeW32Time\ConfigW32Time\Parameters Time Providers\Configure Windows NTP Client W32Time\TimeProviders\NtpClient Time Providers\Enable Windows NTP Client W32Time\TimeProviders\NtpClient Time Providers\Enable Windows NTP Server W32Time\TimeProviders\NtpServer1 Category path: Computer Configuration\Administrative Templates\System\Windows Time Service 2 Подраздел: HKLM\SOFTWARE\Policies\Microsoft 3 Подраздел: HKLM\SYSTEM\CurrentControlSet\Services
Справочник по реестру Windows
Эти сведения предоставляются в виде справки по устранению неполадок и проверке. Разделы реестра Windows используются W32Time для хранения важной информации. Не изменяйте их. Изменения в реестре не проверяются редактором реестра или операционной системой Windows перед их применением. Если реестр содержит недопустимые значения, в Windows могут произойти неустранимые ошибки.
Служба времени Windows хранит сведения в реестре по пути HKLM\SYSTEM\CurrentControlSet\Services\W32Time в следующих подразделах:
В следующих таблицах строка "Все версии" означает версии Windows 7, Windows 8, Windows 10, Windows Server 2008 и Windows Server 2008 R2, Windows Server 2012 и Windows Server 2012 R2, Windows Server 2016 и Windows Server 2019.
Некоторые параметры в реестре измеряются в тактах часов, а некоторые — в секундах. Чтобы преобразовать время из тактов в секунды, используйте следующие коэффициенты преобразования:
- 1 минута = 60 с
- 1 с = 1000 мс
- 1 мс = 10 000 тактовых импульсов в системе Windows, как описано в разделе Свойство DateTime.Ticks.
Например, 5 минут становится 5 × 60 × 1000 × 10000 = 3000 000 000 тактов часов.
Записи подраздела ConfigЗаписи подраздела Config находятся по пути HKLM\SYSTEM\CurrentControlSet\Services\W32Time\Config .
- 0x00. Не сервер времени.
- 0x01. Всегда сервер времени.
- 0x02. Автоматический сервер времени.
- 0x04. Всегда надежный сервер времени.
- 0x08. Автоматический надежный сервер времени.
- 0x1. Перевод времени.
- 0x2. Изменение источника.
ПримечаниеЗначение 0xFFFFFFFF является особым случаем. Оно означает, что служба всегда исправляет время.
ПримечаниеЗначение 0xFFFFFFFF является особым случаем. Оно означает, что служба всегда исправляет время.
Значение по умолчанию для членов домена равно 1. Значение по умолчанию на автономных клиентах и серверах равно 7.
Записи подраздела ParametersЗаписи подраздела Parameters находятся по пути HKLM\SYSTEM\CurrentControlSet\Services\W32Time\Parameters .
- 0x01 SpecialInterval
- 0x02 UseAsFallbackOnly
- 0x04 SymmetricActive. Дополнительные сведения об этом режиме см. на странице Windows Time Server.
- 0x08 Client
- NoSync. Служба времени не синхронизируется с другими источниками.
- NTP. Служба времени синхронизируется с серверов, указанных в NtpServer. запись реестра.
- NT5DS. Служба времени синхронизируется из иерархии доменов.
- AllSync. Служба времени использует все доступные механизмы синхронизации.
Записи подраздела NtpClient находятся по пути HKLM\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient .
- 0x00000001 — DispersionInvalid;
- 0x00000002 — IgnoreFutureRefTimeStamp;
- 0x80000000 — AutodetectWin2K;
- 0x40000000 — AutodetectWin2KStage2.
- 0 — нет;
- 1 — PdcOnly;
- 2 — все.
- 1 — да;
- 0 — нет.
- 0x1 — изменение достижимости.
- 0x2 — большое отклонение выборки (применимо только к Windows Server 2003, Windows Server 2003 R2, Windows Server 2008 и Windows Server 2008 R2)
- 1 — да;
- 0 — нет.
Записи подраздела NtpClient находятся по пути HKLM\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer .
- 1 — да;
- 0 — нет.
- 1 — да;
- 0 — нет = 0.
Следующие записи реестра не являются частью стандартной конфигурации W32Time, но их можно добавить в реестр, чтобы получить расширенные возможности ведения журнала. Регистрируемые в журнале системных событий сведения можно модифицировать, изменив значение параметра EventLogFlags в редакторе объектов групповой политики. По умолчанию служба времени Windows регистрирует событие при каждом переключении на новый источник времени.
Чтобы включить ведение журнала W32Time, добавьте следующие записи реестра:
Ввод Версии Описание FileLogEntries Все версии Управляет количеством записей, создаваемых в файле журнала службы времени Windows. По умолчанию используется нулевое значение, которое не регистрирует никаких действий службы времени Windows. Допустимые значения: 0–300. Это значение не влияет на записи журнала событий, которые обычно создаются службой времени Windows. FileLogName Все версии Определяет расположение и имя файла журнала службы времени Windows. Значение по умолчанию пустое и не должно изменяться, пока не изменяется FileLogEntries. Допустимое значение — это полный путь и имя файла, которые служба времени Windows будет использовать для создания файла журнала. Это значение не влияет на записи журнала событий, которые обычно создаются службой времени Windows. FileLogSize Все версии Управляет поведением циклического ведения журнала файлов журнала службы времени Windows. При определении FileLogEntries и FileLogName запись определяет размер (в байтах), чтобы разрешить доступ к файлу журнала, прежде чем перезаписывать старые записи в журнале новыми. Используйте для этого параметра значение — 1 000 000 или больше. Это значение не влияет на записи журнала событий, которые обычно создаются службой времени Windows.
Параметры объектов групповой политики
Параметры групповой политики хранятся в объектах групповой политики Глобальные параметры конфигурации и Параметры NTP-клиента Windows.
Глобальные параметры конфигурацииЭто глобальные параметры групповой политики и значения по умолчанию для службы времени Windows. Они хранятся в объекте групповой политики Глобальные параметры конфигурации в редакторе локальных политик.
Параметр групповой политики Значение по умолчанию AnnounceFlags 10 EventLogFlags 2 FrequencyCorrectRate 4 HoldPeriod 5 LargePhaseOffset 1 280 000 LocalClockDispersion 10 MaxAllowedPhaseOffset 300 MaxNegPhaseCorrection 54 000 (15 часов) MaxPollInterval 15 MaxPosPhaseCorrection 54 000 (15 часов) MinPollInterval 10 PhaseCorrectRate 7 PollAdjustFactor 5 SpikeWatchPeriod 90 UpdateInterval 100
Параметры NTP-клиента WindowsЭто параметры NTP-клиента Windows и значения по умолчанию для службы времени Windows. Эти параметры хранятся в объекте групповой политики Настройка NTP-клиента Windows в редакторе локальных групповых политик.