nbsp nbsp У сучасних ОС сімейства Windows передбачена можливість автоматичної синхронізації годин локального комп'ютера з показаннями сервера часу в Інтернет по протоколу NTP (N etwork T ime P rotocol). Зокрема, передбачено виконання планувальником завдань стандартної завдання синхронізації часу із зовнішнім джерелом SynchronizeTime. яка може мати різні настройки в різних версіях ОС Windows.
У Windows 7, завдання SynchronizeTime виконує запуск служби часу Windows за розкладом:
Як бачимо, завдання запускається о 1 годині ночі по неділях щотижня, коли більшість комп'ютерів вимкнено. Але настройка Параметри - прапорець Негайно запускати завдання, якщо пропущений плановий запуск для більшості випадків означає, що завдання реально виконується при першому включенні комп'ютера в понеділок (або інші дні тижня). З урахуванням мізерного трафіку, що вимагається для синхронізації часу по протоколу NTP і мізерного споживання ресурсів комп'ютера, таке завдання можна було б виконувати, наприклад, при кожному вході користувача в систему, змінивши властивості тригера "Почати завдання":
На відміну від Windows 7, в Windows 8-10 є вже 2 завдання, які виконують синхронізацію: SynchronizeTime і ForceSynchronizeTime. Перша виконує ті ж функції, що і розглянута вище, і може бути налаштована на запуск таким же чином, забезпечуючи синхронізацію при вході користувача в систему.
Дії, що виконуються завданням SynchronizeTime можна подивитися на вкладці Дії.
Як бачимо, завдання виконує запуск утиліти управління системними службами sc.exe. яка запускає Службу часу Windows (W32Time). При запуску служби часу буде синхронізуватися годин локального комп'ютера з NTP-сервером, певним настройками служби (стандартно - time.windows.com). Налаштування можна змінити командою w32tm або зміною параметрів в розділі реєстру
HKLM \ System \ CurrentControlSet \ services \ w32time
У ключі \ Config є параметри MaxNegPhaseCorrection і MaxPosPhaseCorrection задають максимальне негативне і позитивне відхилення показань годин, при якому може виконуватися синхронізація. Значення за замовчуванням - 54000 (в секундах), тобто 15часов, що є причиною неможливості синхронізації годин стандартної завданням планувальника SynchronizeTime, наприклад, при зміні дати (відхилення більш ніж на 15 годин). Тому, для надійної синхронізації, незалежно поточних показань апаратних годин комп'ютера, бажано збільшити абсолютне значення параметрів MaxNegPhaseCorrection і MaxPosPhaseCorrection. або взагалі поставити їм максимальне значення для типу DWORD - 0xffffffff або 4294967295.
Після такої зміни параметрів MaxNegPhaseCorrection і MaxPosPhaseCorrection в реєстрі системи, синхронізація годин з NTP-сервером буде виконуватися при будь-яких значеннях дати і часу на локальному комп'ютері.
При бажанні, можна змінити ім'я NTP-сервера, з яким буде виконуватися синхронізація (з'єднання Parameters параметр NTPServer) або правкою реєстру, або за допомогою команди w32tm, в командному рядку, запущеної від імені адміністратора:
w32tm / config / syncfromflags: manual /manualpeerlist:ru.pool.ntp.org / update - змінити конфігурацію служби часу, для використання сервера NTP ru.pool.ntp.org і застосувати зроблені зміни.