Команда W32TM – управление службой времени в Windows



Утилита командной строки w32tm.exe предназначена для удаления или установки службы времени Windows W32Time и управления ею на локальном или удаленном компьютере. Служба времени Windows (W32Time) предназначена для синхронизации даты и времени на компьютерах в локальной или глобальной сети. Если служба времени не установлена или отключена, синхронизация времени невозможна.

Служба W32Time обеспечивает функционирование как клиентской, так и серверной части программного обеспечения системы и один и тот же компьютер может быть одновременно и клиентом и сервером NTP (NTP - Network Time Protocol). Протокол NTP использует порт 123/UDP, что нужно учитывать при настройке брандмауэра системы.

Алгоритм функционирования службы времени немного отличается в зависимости от того, является ли компьютер членом домена, или нет. Компьютеры, не входящие в домен используют синхронизацию часов с внешним источником, а входящие – с внутренним NTP-сервером, которым является контроллер домена с ролью PDC-эмулятора (эмулятора первичного контроллера домена). При этом, сам сервер NTP синхронизируется с внешним источником времени. Схема с контроллером домена реализуется при развертывании домена Active Directory и не требует какого-либо ручного вмешательства, более того, такое вмешательство чревато непредвиденными проблемами с функционированием всей инфраструктуры. Для компьютеров же, не входящих в домен, некоторые изменения настроек очень даже не помешают. В частности, во всех актуальных версиях Windows (Windows 7 и старше), предусмотрено выполнение планировщиком заданий стандартной задачи синхронизации времени с внешним источником SynchronizeTime, которая настроена далеко не самым оптимальным образом. Кроме того, некоторые параметры самой службы времени, установленные по умолчанию, не обеспечивают надежную автоматическую синхронизацию часов системы с внешним сервером в Интернет.

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


w32tm [/? | /register | /unregister ]

? - вывод справочной информации по использованию команды.

register - установка службы времени Windows и добавление ее стандартной конфигурации в реестр.

unregister - удаление службы времени Windows и всех параметров конфигурации из реестра.

Параметры службы времени хранятся в ключе реестра

HKLM\System\CurrentControlSet\Services\w32time


Соответственно, параметры службы времени можно менять не только с помощью команды w32tm, но и правкой реестра. В этом случае, применение измененных параметров обеспечивается командой обновления конфигурации
w32tm /config /update
или перезапуском службы W32Time.

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


w32tm /monitor [/domain:<имя_домена>] [/computers:<имя>[,<имя>[,<имя>...]]] [/threads:<число>] [/ipprotocol:<4|6>] [/nowarn]

domain - указывает наблюдаемый домен. Если имя домена не задано, или не заданы ни домен, ни компьютеры, используется текущее имя домена по умолчанию. Этот параметр может использоваться несколько раз.

computers - наблюдение за перечисленными в списке компьютерами. Имена компьютеров разделяются запятыми, без пробелов. Если имя имеет префикс '*', оно считается именем эмулятора первичного контроллера домена в Active Directory (AD PDC). Этот параметр может использоваться несколько раз.

threads - количество одновременно наблюдаемых компьютеров. Стандартное значение по умолчанию - 3. Допустимый диапазон - от 1 до 50.

ipprotocol - версия IP-протокола (4 или 6), которая будет использоваться для наблюдения. По умолчанию будет использоваться протокол IP любой доступной версии.

nowarn - не отображать сообщения с предупреждениями.

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


w32tm /ntte время_NT

- Преобразует системное время NT в интервалах (10^-7) с начиная с 00 часов 1 января 1601 г. в понятный формат.

w32tm /ntpte время NTP - Преобразует время NTP в интервалах (2^-32) с начиная с 00 часов 1 января 1900 г. в понятный формат.

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


w32tm /resync [/computer:<компьютер>] [/nowait] [/rediscover] [/soft]

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

computer:компьютер — компьютер, который должен выполнить повторную синхронизацию. Если параметр не указан, выполняется повторная синхронизация локального компьютера.

nowait — не ожидать завершения повторной синхронизации, выполнять возврат немедленно. В противном случае ожидать завершения повторной синхронизации перед возвратом.

rediscover — повторно определить конфигурацию сети и повторно обнаружить сетевые источники, а затем повторно синхронизировать.

soft — повторно синхронизировать, используя существующую статистику ошибок. Данный параметр в современных ОС не используется и предоставлен для обеспечения совместимости.

w32tm /stripchart /computer:компьютер [/period:обновление] [/dataonly] [/samples:число] [/packetinfo] [/ipprotocol:<4|6>]

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

period:обновление — интервал между измерениями (в секундах). Значение по умолчанию — 2 с.

dataonly — отображать только данные, без диаграмм.

samples:число — собрать число показаний, затем остановиться. Если не указано, сбор данных продолжается, пока не будут нажаты клавиши CTRL+C или CTRL+Break.

packetinfo — напечатать ответное сообщение NTP-пакета. ipprotocol — задать версию протокола IP, который нужно использовать. По умолчанию применяется любой доступный протокол.

w32tm /config [/computer:компьютер] [/update] [/manualpeerlist:узлы] /syncfromflags:источник] [/LocalClockDispersion:секунды] [/reliable:(YES|NO)] [/largephaseoffset:миллисекунды]

computer:компьютер — настраивает конфигурацию указанного компьютера. Если параметр не задан, по умолчанию используется локальный компьютер.

update — уведомляет службу времени, что конфигурация изменилась, чтобы изменения вступили в силу.

manualpeerlist:узлы — задает вручную список DNS-имен и (или) IP-адресов, разделенных пробелами. При указании нескольких узлов этот параметр должен быть заключен в кавычки.

syncfromflags:источник — определяет, с какими источниками должен синхронизироваться NTP-клиент. источник должен быть списком из следующих ключевых слов, разделенных запятыми (без учета регистра):
  MANUAL — синхронизация с узлами из заданного вручную списка.
  DOMHIER — синхронизация с контроллером домена Active Directory в доменной иерархии.
  NO — без синхронизации.
  ALL — синхронизация как с узлами, заданными вручную, так и с узлами домена.

LocalClockDispersion:секунды — настраивает точность внутренних часов, с которой служба w32time будет работать, если не сможет получить время из своих настроенных источников.

reliable:(YES|NO) — определяет, является ли этот компьютер надежным источником времени. Этот параметр имеет значение только для контроллеров домена.

  YES — этот компьютер является надежной службой времени.
  NO — этот компьютер не является надежной службой времени.

largephaseoffset:миллисекунды — устанавливает разницу между локальным и сетевым временем, которую служба w32time будет считать максимальной.

w32tm /tz - Отображает текущие параметры часового пояса.

w32tm /dumpreg [/subkey:раздел] [/computer:компьютер] - Отображает значения, связанные с данным разделом реестра.

Раздел по умолчанию: HKLM\System\CurrentControlSet\Services\W32Time (корневой раздел службы времени).

subkey:раздел — отображает значения, связанные с подразделом раздел раздела по умолчанию.

computer:компьютер — запрашивает параметры реестра для компьютера компьютер.

w32tm /query [/computer:компьютер] {/source | /configuration | /peers | /status} [/verbose] - Отображает сведения о службе времени Windows на компьютере компьютер.

Если параметр не указан, по умолчанию используется локальный компьютер.

source — отобразить источник времени.

configuration — отобразить конфигурацию во время выполнения и происхождение параметра. В режиме подробного протоколирования отобразить также незаданные или неиспользованные параметры.

peers — отобразить список узлов и их состояние.

status — отобразить состояние службы времени Windows.

verbose — установить режим подробного протоколирования для вывода дополнительных сведений.

w32tm /debug {/disable | {/enable /file:имя /size:байт /entries:значение [/truncate]}} - Включает или отключает частный журнал службы времени Windows на локальном компьютере.

disable — отключить частный журнал.

enable — включить частный журнал.

file:имя — указать абсолютное имя файла.

size:байт — указать максимальный размер для циклического файла журнала.

entries:значение — список флагов, заданных номером и разделенных запятыми, указывающих тип сведений, которые должны заноситься в журнал. Допустимые номера: 0–300. Кроме одиночных номеров, допустимы диапазоны номеров, например 0–100,103,106. Значение 0–300 используется для занесения в журнал всех сведений.


truncate — усечь файл, если он существует.

Примеры использования команды w32tm



Как правило, служба времени Windows устанавливается с типом запуска Вручную и запускается по необходимости. Если служба времени остановлена, то управление ею с помощью команды w32tm невозможно. Для запуска, останова или проверки состояния службы можно использовать команду sc

sc query w32time - отобразить состояние службы времени Windows

sc \\192.168.0.8 query w32time - отобразить состояние службы времени на компьютере с адресом 192.168.0.8

sc start w32time - запустить службу времени Windows.

sc \\192.168.0.8 start w32time - запустить службу времени Windows на компьютере с адресом 192.168.0.8.

sc stop w32time - запустить службу времени Windows.

Кроме утилиты sc.exe можно использовать оснастку Службы (services.msc) панели управления или классические команды net stop и net start

net stop w32time
net start w32time

Для управления службой времени Windows требуются права администратора по отношению к локальной или удаленной системе.

w32tm /? - отобразить подсказку по использованию.

w32tm /query /configuration - отобразить конфигурацию службы времени Windows на локальном компьютере.

w32tm /query /configuration /computer:\\WIN10 - отобразить конфигурацию службы времени на компьютере с именем WIN10

Пример отображаемой информации:

[Настройка]

EventLogFlags: 2 (Локально)
AnnounceFlags: 10 (Локально)
TimeJumpAuditOffset: 28800 (Локально)
MinPollInterval: 10 (Локально)
MaxPollInterval: 15 (Локально)
MaxNegPhaseCorrection: 54000 (Локально)
MaxPosPhaseCorrection: 54000 (Локально)
MaxAllowedPhaseOffset: 1 (Локально)
FrequencyCorrectRate: 4 (Локально)
PollAdjustFactor: 5 (Локально)
LargePhaseOffset: 50000000 (Локально)
SpikeWatchPeriod: 900 (Локально)
LocalClockDispersion: 10 (Локально)
HoldPeriod: 5 (Локально)
PhaseCorrectRate: 1 (Локально
) UpdateInterval: 360000 (Локально)
FileLogName: C:\User1\w32tmlog.log (Локально)
FileLogEntries: 0-300 (Локально)
FileLogSize: 100000 (Локально)

[TimeProviders]

NtpClient (Локально)
DllName: C:\WINDOWS\SYSTEM32\w32time.DLL (Локально)
Enabled: 1 (Локально)
InputProvider: 1 (Локально)
AllowNonstandardModeCombinations: 1 (Локально)
ResolvePeerBackoffMinutes: 15 (Локально)
ResolvePeerBackoffMaxTimes: 7 (Локально)
CompatibilityFlags: 2147483648 (Локально)
EventLogFlags: 1 (Локально)
LargeSampleSkew: 3 (Локально)
SpecialPollInterval: 604800 (Локально
) Type: NTP (Локально)
NtpServer: time.windows.com,0x9 (Локально)
VMICTimeProvider (Локально)
DllName: C:\WINDOWS\System32\vmictimeprovider.dll (Локально)
Enabled: 1 (Локально)
InputProvider: 1 (Локально)
NtpServer (Локально)
DllName: C:\WINDOWS\SYSTEM32\w32time.DLL (Локально)
Enabled: 0 (Локально)
InputProvider: 0 (Локально)


В секции Настройка приведены текущие параметры службы времени Windows, в секции TimeProviders - настройки программного обеспечения как клиентской, так и серверной части.

Наиболее важные параметры службы времени:

Type - задает тип синхронизации. Он может принимать следующие значения:
  NoSync - не использовать синхронизацию с каким либо внешним источником времени.
  NTP синхронизация с внешними серверами времени, которые указаны в параметре NtpServer
  NT5DS — синхронизация выполняется согласно доменной иерархии;
  AllSync - синхронизация с использованием любых доступных источников.

Для компьютера, не входящего в домен, используется тип синхронизации NTP и NTPServer с именем time.windows.com. При необходимости можно добавить еще несколько NTP-серверов, введя их DNS имена или IP адреса через пробел. В конце каждого имени можно добавлять 16-ричное число, или флаг (например - 0x1) который определяет режим синхронизации с сервером времени.

Возможные значения режима:

0x1 – SpecialInterval, использование задаваемого интервала опроса;
0x2 – режим UseAsFallbackOnly – синхронизация только при необходимости;
0x4 – SymmetricActive, симметричный активный режим;
0x8 – Client, отправка запроса в клиентском режиме.

Возможно использование комбинаций режимов:

NtpServer: time.windows.com,0x9 - клиентский запрос (0x8) с использованием заданного интервала (0x1) для синхронизации часов с сервером time.windows.com

SpecialPollInterval - значение в секундах интервала обновления времени. По умолчанию – 604800 секунд, что соответствует 7 суткам. Имеет смысл изменить этот интервал, например, на 1 час (3600) или хотя бы на 1 сутки (86400).

Очень важное значение имеют параметры MaxNegPhaseCorrection и MaxPosPhaseCorrection задающие максимальное отрицательное и положительное отклонение показаний часов, при котором может выполняться синхронизация. Значение по умолчанию - 54000 (в секундах), т.е. 15часов, что приводит к тому, что синхронизация времени не выполняется при расхождении показаний часов на величину, превышающую 15 часов. При попытке ресинхронизации времени командой w32tm /resynс показания часов не изменятся и будет выведено вообщение:

Синхронизация не выполнена, поскольку запрошенное изменение слишком велико.

Поэтому, для надежной синхронизации часов компьютера с сервером времени в Интернет, независимо от их текущих показаний, желательно увеличить абсолютное значение параметров MaxNegPhaseCorrection и MaxPosPhaseCorrection, или вообще задать им максимальное значение для типа DWORD – 0xffffffff или 4294967295.

”Параметры

После изменения параметров MaxNegPhaseCorrection и MaxPosPhaseCorrection в реестре системы, синхронизация времени будет выполняться независимо от текущих показаний часов компьютера.

w32tm /monitor /computers:ru.pool.ntp.org - отобразить разницу во времени данного компьютера и сервера времени ru.pool.ntp.org.

w32tm /monitor /computers:ru.pool.ntp.org,time.windows.com,time.nist.gov - отобразить разницу во времени данного компьютера и нескольких серверов времени.

w32tm /resync – синхронизировать часы локального компьютера с используемым им сервером времени.

w32tm /stripchart /computer:pool.ntp.org /samples:3 /dataonly - сравнить показания часов локального компьютера с показаниями сервера времени pool.ntp.org. Будет выполнено 3 запроса и результаты будут представлены в текстовом виде.

Пример отображаемой информации:

Отслеживание pool.ntp.org [77.232.189.6:123].

Сбор образцов 3.
Текущее время - 14.02.2017 17:04:02.
17:04:02 d:+00.0154105s o:+00.0201873s
17:04:04 d:+00.0154035s o:+00.0257523s
17:04:06 d:+00.0154118s o:+00.0147256s

d: - задержка ответа, интервал времени между отправкой запроса и получением ответа от сервера NTP.

o: - смещение локальных часов относительно показаний сервера NTP (если положительное значение – часы отстают, отрицательное – спешат).

w32tm /stripchart /computer:pool.ntp.org - то же, что и в предыдущем примере, но проверка выполняется непрерывно, до тех пор пока не будет нажата комбинация клавиш CTRL+C или CTRL+Break

w32tm /config /syncfromflags:manual /manualpeerlist:ru.pool.ntp.org /update - изменить конфигурацию службы времени, для использования сервера NTP ru.pool.ntp.org и применить сделанные изменения.

w32tm /query /configuration - отобразить текущую конфигурацию службы времени Windows на локальном компьютере.

w32tm /query /configuration /computer:win10 - отобразить текущую конфигурацию службы времени Windows на компьютере WIN10.

w32tm /query /source - отобразить сведения об источнике времени на локальном компьютере.

w32tm /query /source /computer:win10 - отобразить сведения об источнике времени на компьютере win10.

w32tm /unregister — удалить службу времени Windows из системы. Все параметры службы в реестре удаляются. Перед выполнением команды, служба времени должна быть остановлена, в противном случае команда завершится сообщением об ошибке доступа.

w32tm /register – установить службу времени Windows на данном компьютере. При этом все параметры службы в реестре создаются заново. Для изменения параметров заданных по умолчанию, можно использовать импорт из заранее подготовленного reg-файла, например:

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\w32time\Config]
"MaxNegPhaseCorrection"=dword:ffffffff
"MaxPosPhaseCorrection"=dword:ffffffff











Весь список команд CMD Windows