Команда 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- встановлення служби часу Windows та додавання її стандартної конфігурації до Реєстру.

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

Параметри служби часу зберігаються у ключі реєстру

HKLM\System\CurrentControlSet\Services\w32time

Відповідно, параметри служби часу можна змінювати не лише за допомогою команди w32tm, але й редагування реєстру. У цьому випадку застосування змінених параметрів забезпечується командою оновлення конфігурації.
w32tm /config /update
або перезапуск служби W32Time.

Параметри командного рядка для моніторингу служби часу:

w32tm /monitor ]]

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- повторно синхронізувати, використовуючи наявну статистику помилок. Цей параметр у сучасних ОС не використовується та надано для забезпечення сумісності.

w32tm /stripchart /computer:комп'ютер

Виводить діаграму відмінностей між цим та іншим комп'ютером. computer:комп'ютер- комп'ютер, із яким виконується порівняння.

period:оновлення- інтервал між вимірами (за секунди). Значення за замовчуванням – 2 с.

dataonly- відображати лише дані, без діаграм.

samples:число- зібрати числопоказань, потім зупинитися. Якщо не вказано, збір даних триває доти, доки не натиснуто клавіші CTRL+C або CTRL+Break.

packetinfo- надрукувати відповідне повідомлення NTP-пакету. ipprotocol- Вказати версію протоколу IP, який потрібно використовувати. За промовчанням застосовується будь-який доступний протокол.

w32tm /config /syncfromflags:джерело]

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- Відображає значення, пов'язані з розділом реєстру.

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

subkey:розділ- Відображає значення, пов'язані з підрозділом розділрозділу за замовчуванням.

computer:комп'ютер- запитує параметри реєстру для комп'ютера комп'ютер.

w32tm /query (/source | /configuration | /peers | /status)- Відображає інформацію про службу часу Windows на комп'ютері комп'ютер.

Якщо параметр не вказано, за промовчанням використовується локальний комп'ютер.

source- Відобразити джерело часу.

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

peers- Відобразити список вузлів та їх стан.

status- Відобразити стан служби часу Windows.

verbose- встановити режим детального протоколювання для виведення додаткових відомостей.

w32tm /debug (/disable | (/enable /file:ім'я /size:байт /entries:значення ))- Вмикає або вимикає приватний журнал служби 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

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 (локально)

NtpClient (Локально)
Enabled: 1 (Локально)
InputProvider: 1 (локально)
ДоступніНаціональніModeCombinations: 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.

Збір зразків 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

"MaxNegPhaseCorrection"=dword:ffffffff
"MaxPosPhaseCorrection"=dword:ffffffff

Налаштування сервера NTP у Windows

Починаючи з Windows 2000, всі операційні системи Windowsвключають службу часу W32Time. Ця служба призначена для синхронізації часу у межах організації. W32Time відповідає за роботу як клієнтської, так і серверної частини служби часу, причому один і той же комп'ютер може бути одночасно клієнтом і сервером NTP (Network Time Protocol).

За промовчанням служба часу в Windows налаштована таким чином:

При встановленні операційної системи Windows запускає клієнта NTP та синхронізується із зовнішнім джерелом часу;
При додаванні комп'ютера до домену змінюється тип синхронізації. Усе клієнтські комп'ютериі рядові сервери в домені використовують для синхронізації часу контролер домену, що перевіряє їхню справжність;
При підвищенні рядового сервера до контролера домену на ньому запускається NTP-сервер, який як джерело часу використовує контролер за участю PDC-емулятор;
PDC-емулятор, розташований у кореневому домені лісу, є основним сервером часу для організації. При цьому сам він також синхронізується із зовнішнім джерелом часу.

Така схема працює у більшості випадків і не потребує втручання. Однак структура сервісу часу в Windows може і не дотримуватися доменної ієрархії, і надійним джерелом часу можна призначити будь-який комп'ютер. Як приклад я опишу налаштування NTP-сервера в Windows Server 2008 R2, хоча з часів Windows 2000 процедура не дуже змінилася.

Запуск сервера NTP

Відразу зазначу, що служба часу у Windows Server (починаючи з 2000 та закінчуючи 2012) не має графічного інтерфейсуі налаштовується або з командного рядка, або шляхом прямого виправлення системного реєстру. Особисто мені ближчий другий спосіб, тому йдемо до реєстру.

Отже, насамперед нам треба запустити сервер NTP. Відкриваємо гілку реєстру
HKLM\System\CurrentControlSet\services\W32Time\TimeProviders\NtpServer.
Тут для увімкнення сервера NTP параметра Enabledтреба встановити значення 1 .

Потім перезапускаємо службу часу командою net stop w32time && net start w32time


Після перезапуску служби NTP сервер вже активний та може обслуговувати клієнтів. Переконатись у цьому можна за допомогою команди w32tm /query /configuration. Ця команда виводить повний списокпараметрів служби. Якщо розділ NtpServerмістить рядок Enabled:1, то все гаразд, сервер часу працює.


Для того, щоб NTP-сервер міг обслуговувати клієнтів, не забудьте на фаєрволлі відкрити UDP порт 123 для вхідного та вихідного трафіку.

Основні налаштування сервера NTP

NTP сервер увімкнули, тепер треба його налаштувати. Відкриваємо гілку реєстру HKLM\System\CurrentControlSet\services\W32Time\Parameters. Тут насамперед нас цікавить параметр Type, який визначає тип синхронізації. Він може приймати такі значення:

NoSync - NTP-сервер не синхронізується з будь-яким зовнішнім джерелом часу. Використовується годинник, вбудований у мікросхему CMOS самого сервера;
NTP - NTP-сервер синхронізується із зовнішніми серверами часу, які вказані у параметрі реєстру NtpServer;
NT5DS - NTP-сервер проводить синхронізацію згідно з доменною ієрархією;
AllSync - NTP-сервер використовує всі доступні джерела для синхронізації.

Значення за промовчанням для комп'ютера, який входить до домену. NT5DS, для окремо комп'ютера, що стоїтьNTP.

І параметр NtpServer, в якому вказуються NTP-сервера, з якими синхронізувати час даний сервер. За промовчанням у цьому параметрі прописаний NTP-сервер Microsoft (time.windows.com, 0x1), за потреби можна додати ще кілька NTP-серверів, ввівши їх DNS імена або IP-адреси через пробіл. Список доступних серверів часу можна переглянути, наприклад, .

Наприкінці кожного імені можна додавати прапорець (напр. ,0x1) який визначає режим для синхронізації із сервером часу. Допускаються такі значення:

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

При використанні прапора SpecialInterval необхідно встановлене значення інтервалу в ключі SpecialPollInterval. При значенні прапорця UseAsFallbackOnly службі часу повідомляється, що цей сервер буде використовуватися як резервний і перед синхронізацією з ним будуть виконуватись звернення до інших серверів списку. Симетричний активний режим використовується NTP-серверами за замовчуванням, а клієнтський режим можна використовувати у разі проблем із синхронізацією. Докладніше про режими синхронізації можна подивитися, або не морочитися і просто ставити скрізь ,0x1(як радить Microsoft).


Ще один важливий параметр AnnounceFlagsзнаходиться в розділі реєстру HKLM\System\CurrentControlSet\services\W32Time\Config. Він відповідає за те, як заявляє NTP-сервер і може приймати наступні значення:

0x0 ( Not a time server) — сервер не оголошує себе через NetLogon як джерело часу. Він може відповідати на NTP запити, але сусіди не зможуть розпізнати його як джерело часу;
0x1(Always time server) — сервер завжди оголошуватиме себе незалежно від статусу;
0x2(Automatic time server) — сервер оголошуватиме себе лише, якщо він отримує надійний час від іншого сусіда (NTP або NT5DS);
0x4(Always reliable time server) — сервер завжди заявлятиме себе, як надійне джерело часу;
0x8(Automatic reliable time server) — контролер домену автоматично оголошується надійним, якщо він PDC-емулятор кореневого домену лісу. Цей прапор дозволяє головному PDC лісу заявити про себе як про авторизоване джерело часу для всього лісу навіть за відсутності зв'язку з вищими NTP-серверами. Жоден інший контролер або рядовий сервер (за замовчуванням прапор) 0x2) не може заявити про себе, як надійне джерело часу, якщо він не може знайти джерело часу для себе.

Значення AnnounceFlagsскладає суму складових його прапорів, наприклад:

10=2+8 — NTP-сервер заявляє себе як надійному джерелі часу за умови, що він отримує час із надійного джерела чи є PDC кореневого домену. Прапор 10 задається за замовчуванням як для членів домену, так і для серверів, що окремо стоять.

5=1+4 - NTP-сервер завжди заявляє про себе як про надійне джерело часу. Наприклад, щоб сказати рядовий сервер (не домен-контролер) як надійне джерело часу, потрібен прапор 5.


Ну і настроїмо інтервал між оновленнями. За нього відповідає вже згадуваний вище ключ SpecialPollInterval,що знаходиться у гілці реєстру HKLM\System\CurrentControlSet\services\W32Time\TimeProviders\NtpClient. Він задається в секундах і за замовчуванням його значення дорівнює 604 800, що становить 1 тиждень. Це дуже багато, тому варто зменшити значення SpecialPollInterval до розумного значення, скажімо, до 1 години (3600).


Після установки необхідно оновити конфігурацію сервісу. Зробити це можна командою w32tm/config/update. І ще кілька команд для налаштування, моніторингу та діагностики служби часу:

w32tm /monitor – за допомогою цієї опції можна дізнатися, наскільки системний час даного комп'ютера відрізняється від часу на контролері домену або на інших комп'ютерах. Наприклад: w32tm /monitor/computers:time.nist.gov
w32tm /resync – за допомогою цієї команди можна змусити комп'ютер синхронізуватися з сервером часу, що використовується.
w32tm /stripchart – показує різницю у часі між поточним та віддаленим комп'ютером, причому може виводити результат у графічному вигляді. Наприклад, команда w32tm /stripchart /computer:time.nist.gov /samples:5 /dataonlyзробить 5 порівнянь із зазначеним джерелом та виведе результат у текстовому вигляді.

w32tm /config – це основна команда, яка використовується для конфігурування служби NTP. З її допомогою можна задати список серверів часу, тип синхронізації та багато іншого. Наприклад, перевизначити значення за промовчанням і настроїти синхронізацію часу із зовнішнім джерелом, можна командою w32tm /config /syncfromflags:manual /manualpeerlist:time.nist.gov /update
w32tm /query — показує поточні установки служби. Наприклад, команда w32tm /query /source покаже поточне джерело часу, а w32tm /query /configuration виведе всі параметри служби.

Ну і на крайній випадок 🙁
w32tm /unregister – видаляє службу часу з комп'ютера.
w32tm /register – реєструє службу часу на комп'ютері. При цьому створюється наново вся гілка параметрів у реєстрі.

Налаштовувати час у домені потрібно як тільки ми розгорнули новий ліс, або якщо ми передали роль PDC іншому контролеру домену в існуючому лісі.

Стандартна схема синхронізації часу в домені досить проста:

Є контролер домену, який має роль FSMO - PDC (Primary Domain Controller). Його потрібно налаштувати на синхронізацію часу з будь-яким зовнішнім сервером NTP. Є інші контролери домену, які в стандартній схемі синхронізуються з контролером домену в ієрархії Active Directory.

Контролери найвищого рівня синхронізуються з PDC емулятором. Рядові сервери AD та клієнтські комп'ютери синхронізують час із відповідним контролером домену свого сайту.

Налаштовуємо контролер домену за участю PDC

PS C:\> w32tm /config /manualpeerlist:192.168.5.10 /syncfromflags:manual /reliable:yes /update

PS C:\> Restart-Service w32time

PS C:\> w32tm / resync

Команда здійснена успішно.

де 192.168.5.10 – зовнішній або корпоративний NTP сервер. Також тут можна вказати і кілька бенкетів, розділених пробілами та укласти все в подвійні лапки. Піри можна вказувати як за допомогою IP-адрес, так і за допомогою DNS-імен.

Хочу зазначити, що цю процедуру потрібно проводити в тому випадку, якщо налаштування часу на поточному комп'ютері домену перед цим змінювалися на нестандартні. Таким чином, ми повернемо все в дефолтні налаштування.

PS C:\> w32tm /config /update /syncfromflags:DOMHIER

Команда здійснена успішно.

PS C:\> w32tm / resync

Sending resync command to local computer

Команда здійснена успішно.

Налаштування синхронізації часу в домені Active Directory

Багато теорії та трохи практики про:

  • топології синхронізації часу серед учасників Active Directory
  • оптимальною з моєї точки зору конфігурації сервера часу кореневого емулятора PDC
  • корисних командах для налаштування та діагностики синхронізації часу
  • особливості, які потрібно враховувати для віртуалізованих контролерів домену

Топологія синхронізації часу серед учасників Active Directory

Серед комп'ютерів, що беруть участь у Active Directory, працює наступна схема синхронізації часу.

Контролер кореневого домену в лісі AD, якому належить FSMО-роль емулятора PDC (назвемо його кореневим PDC), є джерелом часу для решти контролерів цього домену. Контролери дочірніх доменів синхронізують час із вищестоящих по топології AD контролерів домену. Пересічні члени домену (сервера та робочі станції) синхронізують свій час з найближчим до них доступним контролером домену, дотримуючись топології AD.

Кореневий PDC може синхронізувати свій час як із зовнішнім джерелом, так і з самим собою, останнє задано стандартною конфігурацією і є абсурдом, про що періодично натякають помилки в системному журналі.

Синхронізація клієнтів кореневого PDC може здійснюватися як з його внутрішнього годинника, так і з зовнішнього джерела. У першому випадку сервер часу кореневого PDC оголошує себе як "надійний" (reliable).

Далі я наведу оптимальну з моєї точки зору конфігурацію сервера часу кореневого PDC, при якій сам кореневий PDC періодично синхронізує свій час від достовірного джерела в інтернеті, а час клієнтів, що звертаються до нього, синхронізує зі своїм внутрішнім годинником.

Конфігурація NTP-сервера на кореневому PDC

Конфігурування сервера часу (NTP-сервера) може здійснюватися як за допомогою утиліти командного рядка w32tm, і через реєстр. Де можливо, я наведу обидва варіанти.

Увімкнення синхронізації внутрішнього годинника із зовнішнім джерелом "Type"="NTP" w32tm /config /syncfromflags:manual

Оголошення NTP-сервера як надійне

"AnnounceFlags"=dword:0000000a w32tm /config /reliable:yes Подробиці - у бібліотеці TechNet.

Увімкнення NTP-сервера

NTP-сервер за замовчуванням увімкнено на всіх контролерах домену, однак його можна включити і на рядових серверах.

"Enabled"=dword:00000001 Завдання списку зовнішніх джерел для синхронізації "NtpServer"="time.nist.gov,0x8 ntp1.imvp.ru,0x8 ntp2.imvp.ru,0x8 time.windows.com,0x8 ru.pool. ntp.org,0x8" w32tm /config /manualpeerlist:"time.nist.gov,0x8 ntp1.imvp.ru,0x8 ntp2.imvp.ru,0x8 time.windows.com,0x8 ru.pool.ntp.org,0x8 "

Прапор 0x8 на кінці означає, що синхронізація повинна відбуватися в режимі клієнта NTP через запропоновані цим сервером інтервали часу. Для того, щоб встановити свій інтервал синхронізації, необхідно використовувати прапор 0x1. Решта прапорів описана в бібліотеці TechNet.

Завдання інтервалу синхронізації із зовнішнім джерелом Час у секундах між опитуваннями джерела синхронізації за замовчуванням 900с = 15хв. Працює лише для джерел, позначених прапором 0x1.

"SpecialPollInterval"=dword:00000384

Встановлення мінімальної позитивної та негативної корекції Максимальна позитивна та негативна корекція часу (різниця між внутрішнім годинником та джерелом синхронізації) у секундах, при перевищенні якої синхронізація не відбувається. Рекомендую значення 0xFFFFFFFF, у якому корекція зможе виконуватися завжди.

"MaxPosPhaseCorrection"=dword:FFFFFFFF "MaxNegPhaseCorrection"=dword:FFFFFFFF

Все необхідне одним рядком

w32tm.exe /config /manualpeerlist:"time.nist.gov,0x8 ntp1.imvp.ru,0x8 ntp2.imvp.ru,0x8 time.windows.com,0x8 pool.ntp.org,0x8" /syncfromflags:manual / reliable:yes /update

Корисні команди

Застосування внесених до конфігурації служби часу змін

w32tm /config /update

Примусова синхронізація від джерела

w32tm /resync /rediscover

Відображення стану синхронізації контролерів домену в домені

Відображення поточних джерел синхронізації та їх статусу

w32tm/query/peers

Особливості віртуалізованих контролерів домену

Контролери домену, що працюють у віртуалізованому середовищі, вимагають себе особливого ставлення.

Засоби синхронізації часу віртуальної машини та хостової ОС мають бути вимкнені. У всіх адекватних системах віртуалізації (Microsoft, vmWare і т. д.) присутні компоненти інтеграції гостьової ОС з хостовою, які значно підвищують продуктивність та керованість гостьової системи. Серед цих компонентів завжди є засіб синхронізації часу гостьової ОС з хостовою, який дуже корисний для рядових машин, але протипоказаний для контролерів домену. Тому що в цьому випадку дуже ймовірний цикл, при якому контролер домену та хостова ОС синхронізуватимуть один одного. Наслідки сумні.

Для кореневого PDC синхронізація із зовнішнім джерелом має бути налаштована завжди. В віртуальному середовищігодинник не настільки точний як у фізичному, тому що віртуальна машинапрацює з віртуальним процесором та перериваннями, для яких характерне як уповільнення, так і прискорення щодо «звичайної» частоти. Якщо не настроїти синхронізацію віртуалізованого кореневого PDC із зовнішнім джерелом, час на всіх комп'ютерах підприємства може втікати/відставати на кілька годин на добу. Не важко уявити неприємності, які може принести таку поведінку.

Перш ніж приступити до налаштування синхронізації часу із зовнішнім сервером, не забудьте відкрити на своєму Front-Endміжмережевому екрані стандартний NTP порт – UDP 123
(Потрібно дозволити як вхідне, так і вихідне з'єднання).
В домен контролерівцей виняток вже є - називається "Active Directory Domain Controller - W32Time (NTP-UDP-In)" (в Inbound Rules)

Топологія синхронізації часу серед учасників Active Directory

Серед комп'ютерів, що беруть участь у Active Directory, працює наступна схема синхронізації часу:

  • Контролер кореневого домену в лісі AD, якому належить FSMО-роль емулятора PDC, є джерелом часу для решти контролерів цього домену.
  • Контролери дочірніх доменів, синхронізують час із вищестоящих по топології AD контролерів домену.
  • Рядові члени домену (сервера та робочі станції) синхронізують свій час з найближчим до нихдоступним контролером домену, дотримуючись топології AD.

PDC може синхронізувати свій час як із зовнішнім джерелом, так і з самим собою, останнє задано стандартною конфігурацією і є абсурдом, про що періодично натякають помилки в системному журналі.

Синхронізація клієнтів PDC може здійснюватися як з його внутрішнього годинника, так і з зовнішнього джерела. У першому випадку сервер часу кореневого PDC оголошує себе як "надійний" (reliable).

Конфігурація NTP-сервера на кореневому PDC

Конфігурування сервера часу (NTP-сервера) може здійснюватися як за допомогою утиліти командного рядка w32tm, і через реєстр.
Де можливо, я наведу обидва варіанти.

Увімкнення синхронізації внутрішнього годинника із зовнішнім джерелом

  • "Type"="NTP"
  • w32tm /config /syncfromflags:manual

Switzerland- ch.pool.ntp.org
Israel- il.pool.ntp.org

LINKS:

Перевірено: Windows Server 2008 R2, Windows Server 2012 R2
для Windows Server 2003 R2 - є різниця у командах для w32tm(Значення реєстру ті ж)


Операційні системи сімейства Windows містять службу часу W32Time. Ця служба призначена для синхронізації часу у межах організації. W32Time відповідає за роботу як клієнтської, так і серверної частини служби часу, причому один і той же комп'ютер може бути одночасно клієнтом і сервером NTP (NTP - Network Time Protocol).

За промовчанням служба часу в Windows налаштована таким чином:

У разі встановлення операційної системи Windows запускає клієнта NTP, який синхронізується із зовнішнім джерелом часу;

При додаванні комп'ютера до домену змінюється тип синхронізації. Усі клієнтські комп'ютери та рядові сервери в домені використовують для синхронізації часу контролер домену, що перевіряє їхню справжність;

При підвищенні рядового сервера до контролера домену на ньому запускається NTP-сервер, який як джерело часу використовує контролер за участю PDC-емулятор;

PDC-емулятор, розташований у кореневому домені лісу, є основним сервером часу для організації. При цьому сам він також синхронізується із зовнішнім джерелом часу.

Така схема працює у більшості випадків і не потребує втручання. Однак структура сервісу часу в Windows може і не дотримуватися доменної ієрархії і надійним джерелом часу можна призначити будь-який комп'ютер.

Як приклад наведемо налаштування NTP-сервера в Windows Server 2008 R2, за аналогією можна налаштувати NTP сервер і в Windows 7.

Запуск сервера NTP

Служба часу у Windows Server не має графічного інтерфейсуі налаштовується або з командного рядка, або шляхом прямого виправлення системного реєстру. Розглянемо другий спосіб:

Потрібно запустити сервер NTP. Відкриваємо гілку реєстру:

HKLM\System\CurrentControlSet\services\W32Time\TimeProviders\NtpServer.

Для увімкнення сервера NTP параметру Enabled треба встановити значення 1. Потім перезапускаємо службу часу командою net stop w32time && net start w32time.

Після перезапуску служби NTP сервер вже активний і може обслуговувати клієнтів. Переконатися в цьому можна за допомогою команди w32tm/query/configuration. Ця команда відображає повний список параметрів служби. Якщо розділ NtpServer містить рядок Enabled:1, то все гаразд, сервер часу працює.

Для того щоб NTP-сервер міг обслуговувати клієнтів, у брандмауері необхідно відкрити UDP порт 123 для вхідного та вихідного трафіку.

Основні налаштування сервера NTP

Відкриваємо гілку реєстру:

HKLM\System\CurrentControlSet\services\W32Time\Parameters.

NoSync - NTP-сервер не синхронізується з будь-яким зовнішнім джерелом часу. Використовуються системний годинник, вбудований в мікросхему CMOS самого сервера (у свою чергу цей годинник може синхронізуватися від джерела NMEA по RS-232 наприклад);

NTP — NTP-сервер синхронізується із зовнішніми серверами часу, які вказані у параметрі реєстру NtpServer;

NT5DS - NTP-сервер здійснює синхронізацію згідно з доменною ієрархією;

AllSync - NTP сервер використовує для синхронізації всі доступні джерела.

Значення за замовчуванням для комп'ютера, що входить до домену - NT5DS, для окремого комп'ютера - NTP.

У параметрі NtpServer вказуються NTP-сервера, із якими синхронізувати час даний сервер. За промовчанням у цьому параметрі прописаний NTP-сервер Microsoft (time.windows.com, 0×1), за потреби можна додати ще кілька NTP-серверів, ввівши їх DNS імена або IP-адреси через пробіл. Наприкінці кожного імені можна додавати прапор (напр. ,0×1) який визначає режим синхронізації з сервером часу.

Допускаються такі значення режиму:

SpecialPollInterval, що знаходиться у гілці реєстру:

HKLM\System\CurrentControlSet\services\W32Time\TimeProviders\NtpClient.

Він задається в секундах і за замовчуванням його значення дорівнює 604 800, що становить 1 тиждень. Це дуже багато, тому Варто зменшити значення SpecialPollInterval до розумного значення - 1 годину (3600).

Після установки необхідно оновити конфігурацію сервісу. Зробити це можна командою w32tm/config/update.


І ще кілька команд для налаштування, моніторингу та діагностики служби часу:

w32tm /monitor – за допомогою цієї опції можна дізнатися, наскільки системний час даного комп'ютера відрізняється від часу на контролері домену або на інших комп'ютерах. Наприклад: w32tm /monitor/computers:time.nist.gov

w32tm /resync – за допомогою цієї команди можна змусити комп'ютер синхронізуватися з сервером часу, що використовується.

w32tm /stripchart – показує різницю у часі між поточним та віддаленим комп'ютером. Команда w32tm /stripchart /computer:time.nist.gov /samples:5 /dataonlyзробить 5 порівнянь із зазначеним джерелом та видасть результат у текстовому вигляді.


w32tm /config – це основна команда, яка використовується для налаштування служби NTP. З її допомогою можна задати список серверів часу, тип синхронізації та багато іншого. Наприклад, перевизначити значення за промовчанням і настроїти синхронізацію часу із зовнішнім джерелом, можна командою w32tm /config /syncfromflags:manual /manualpeerlist:time.nist.gov /update


w32tm /query - показує поточні установки служби. Наприклад, команда w32tm /query /source покаже поточне джерело часу, а w32tm /query /configuration виведе всі параметри служби.

net stop w32time – зупиняє службу часу, якщо запущена.

w32tm /unregister – видаляє службу часу з комп'ютера.

w32tm /register – реєструє службу часу на комп'ютері. При цьому створюється наново вся гілка параметрів у реєстрі.

net start w32time – запускає службу.

Особливості, помічені Windows 7 - служба часу не запускається автоматично під час старту Windows. Виправлено у SP1 для Windows 7.

© 2022 androidas.ru - Все про Android