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 і всіх параметрів конфігурації з реєстру.
Параметри служби часу зберігаються в ключі реєстру
Відповідно, параметри служби часу можна змінювати не тільки за допомогою команди w32tm. але і правкою реєстру. В цьому випадку, застосування змінених параметрів забезпечується командою поновлення конфігурації
w32tm / config / update
або перезапуском служби W32Time.
Параметри командного рядка для моніторингу служби часу:
w32tm / monitor [/ domain:] [/ computers: [, [. ]]] [/ Threads:] [/ ipprotocol:] [/ nowarn]
domain - вказує спостережуваний домен. Якщо ім'я домену не задано, або не задані ні домен, ні комп'ютери, використовується поточне ім'я домену за замовчуванням. Цей параметр може використовуватися кілька разів.
computers - спостереження за перерахованими в списку комп'ютерами. Імена комп'ютерів розділяються комами, без пробілів. Якщо ім'я має префікс '*', воно вважається ім'ям емулятора первинного контролера домену в Active Directory (AD PDC). Цей параметр може використовуватися кілька разів.
threads - кількість одночасно спостережуваних комп'ютерів. Стандартне значення за замовчуванням - 3. Допустимий діапазон - від 1 до 50.
ipprotocol - версія IP-протоколу (4 або 6), яка буде використовуватися для спостереження. За замовчуванням буде використовуватися протокол IP будь-якій доступній версії.
nowarn - не відображати повідомлення з попередженнями.
Параметри командного рядка для тимчасових перетворень:
w32tm / ntte время_NT
Параметри для виконання примусової синхронізації дати та часу із зовнішнім джерелом:
w32tm / resync [/ computer:] [/ nowait] [/ rediscover] [/ soft]
Дає комп'ютера команду якомога швидше виконати повторну синхронізацію свого годинника з видаленням всієї накопиченої статистики помилок.
computer: комп'ютер - комп'ютер, який повинен виконати повторну синхронізацію. Якщо параметр не вказано, виконується повторна синхронізація локального комп'ютера.
nowait - не очікував завершення повторної синхронізації, виконувати повернення негайно. В іншому випадку очікувати завершення повторної синхронізації перед поверненням.
rediscover - повторно визначити конфігурацію мережі і повторно виявити мережеві джерела, а потім повторно синхронізувати.
soft - повторно синхронізувати, використовуючи існуючу статистику помилок. Даний параметр в сучасних ОС не використовується і надано для забезпечення сумісності.
w32tm / stripchart / computer: комп'ютер [/ period: оновлення] [/ dataonly] [/ samples: число] [/ packetinfo] [/ ipprotocol:]
Виводить діаграму відмінностей між цими та іншими комп'ютером. 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 - повідомляє службу часу, що конфігурація змінилася, щоб зміни вступили в силу.
syncfromflags: джерело - визначає, з якими джерелами повинен синхронізуватися NTP-клієнт. джерело повинен бути списком такі ключові слова, розділених комами (без урахування регістру):
nbsp MANUAL - синхронізація з вузлами з заданого вручну списку.
nbsp DOMHIER - синхронізація з контролером домену Active Directory в доменній ієрархії.
nbsp NO - без синхронізації.
nbsp ALL - синхронізація як з вузлами, заданими вручну, так і з вузлами домену.
LocalClockDispersion: секунди - налаштовує точність внутрішнього годинника, з якої служба w32time буде працювати, якщо не зможе отримати час зі своїх налаштованих джерел.
reliable: (YES | NO) - визначає, чи є цей комп'ютер надійним джерелом часу. Цей параметр має значення тільки для контролерів домену.
nbsp YES - цей комп'ютер є надійною службою часу.
nbsp NO - цей комп'ютер не є надійною службою часу.
largephaseoffset: мілісекунди - встановлює різницю між локальним і мережевим часом, яку служба w32time буде вважати максимальною.
w32tm / tz - Показує поточні параметри часового поясу.
w32tm / dumpreg [/ subkey: розділ] [/ computer: комп'ютер] - Показує значення, пов'язані з цим розділом реєстру.
Розділ за замовчуванням: HKLM \ System \ CurrentControlSet \ Services \ W32Time (кореневий розділ служби часу).
subkey: розділ - відображає значення, пов'язані з підрозділом розділ розділу за замовчуванням.
computer: комп'ютер - запитує параметри реєстру для комп'ютера комп'ютер.
w32tm / query [/ computer: комп'ютер] [/ verbose] - Показує відомості про службу часу Windows на комп'ютері комп'ютер.
Якщо параметр не вказано, за замовчуванням використовується локальний комп'ютер.
source - відобразити джерело часу.
configuration - відобразити конфігурацію під час виконання і походження параметра. У режимі докладного протоколювання відобразити також незадані або невикористані параметри.
peers - відобразити список вузлів і їх стан.
status - відобразити стан служби часу Windows.
verbose - встановити режим докладного протоколювання для виведення додаткових відомостей.
w32tm / debug> - Включає або відключає приватний журнал служби часу Windows на локальному комп'ютері.
disable - відключити приватний журнал.
enable - включити приватний журнал.
file: ім'я - вказати абсолютну ім'я файлу.
size: байт - обмежити максимальну кількість для циклічного файлу журналу.
entries: значення - список прапорів, заданих номером і розділених комами, що вказують тип відомостей, які повинні заноситися в журнал. Допустимі номера: 0-300. Крім одиночних номерів, допустимі діапазони номерів, наприклад 0-100,103,106. Значення 0-300 використовується для занесення в журнал всіх відомостей.
truncate - усікти файл, якщо він існує.
Приклади використання команди w32tm
Як правило, служба часу Windows встановлюється з типом запуску Вручну і запускається в разі потреби. Якщо служба часу зупинена, то управління нею за допомогою команди w32tm неможливо. Для запуску, зупинки або перевірки стану служби можна використовувати команду sc
sc query w32time - відобразити стан служби часу Windows
sc start w32time - запустити службу часу Windows.
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 (Локально)
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 - задає тип синхронізації. Він може приймати наступні значення:
nbsp NoSync - не використовувати синхронізацію з будь-яким зовнішнім джерелом часу.
nbsp NTP синхронізація із зовнішніми серверами часу, які вказані в параметрі NtpServer
nbsp NT5DS - синхронізація виконується відповідно до доменної ієрархії;
nbsp AllSync - синхронізація з використанням будь-яких доступних джерел.
Можливі значення режиму:
0x1 - SpecialInterval, використання задається інтервалу опитування;
0x2 - режим UseAsFallbackOnly - синхронізація тільки при необхідності;
0x4 - SymmetricActive, симетричний активний режим;
0x8 - Client, відправка запиту в клієнтському режимі.
Можливе використання комбінацій режимів:
NtpServer: time.windows.com, 0x9 - клієнтський запит (0x8) з використанням заданого інтервалу (0x1) для синхронізації годин з сервером time.windows.com
SpecialPollInterval - значення в секундах інтервалу оновлення часу. За замовчуванням - 604800 секунд, що відповідає 7 діб. Має сенс змінити цей інтервал, наприклад, на 3600 (1 год) або хоча б на 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].
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