Как изменить время на windows server 2016

В этой статье показано, как настроить службу времени Windows (NTP) в Windows Server 2016, чтобы она действовала как NTP-сервер для клиентских компьютеров домена.

Немного теории

Синхронизация времени — важный и во многом достаточно критичный аспект работы Active Directory, особенно сегодня, когда широко используется взаимодействие с внешними системами и работа с сотрудниками, которые могут находиться в различных часовых поясах. Применение систем виртуализации вносит дополнительные особенности, которые также следует учитывать. Поэтому данный вопрос может оказаться не столь простым, как кажется, а синхронизация с внешним источником точного времени становится одной из актуальных задач.

Прежде всего вспомним, как происходит синхронизация времени в Active Directory. В качестве эталона времени выступает контроллер, владеющий ролью эмулятора PDC. Это FSMO-роль и эмулятором PDC может являться только один контроллер в каждом домене. С ним синхронизируют время остальные контроллеры домена. Доменные ПК и рядовые серверы сверяют часы с ближайшим контроллером домена.

Сам эмулятор PDC в качестве источника точного времени может использовать либо аппаратные часы материнской платы, либо внешний источник точного времени, при нахождении в виртуальной среде также может быть использовано время хоста виртуализации.

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

Работа PDC эмулятора

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

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

Проверяем откуда сервер берет время

Давайте перейдем от теории к практике. Начнем с того, что выясним кто из контроллеров является эмулятором PDC и эталоном времени для домена. Это можно сделать на любом контроллере домена командой:

netdom query fsmo

В выводе будут показаны все хозяева операций, нас интересует только эмулятор PDC.

Затем перейдем на указанный контроллер и узнаем источник времени для него, для этого выполните команду:

w32tm /query /source

Если в выводе вы увидите:

Local CMOS Clock
Free-Running System Clock

то источником времени являются аппаратные часы. А если там будет:

VM IC Time Synchronization Provider

то вы имеете дело с виртуальной машиной, которая синхронизирует время с хостом.

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

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\VMICTimeProvider

и установите для параметра Enabled значение 0.

После данного изменения следует перезапустить Службу времени Windows как показано ниже или перезагрузить компьютер.

net stop w32time
net start w32time

Далее будет показана быстрая настройка NTP клиента на сервере и более расширенная.

Быстрая настройка NTP на Windows Server 2016

На вашем Windows Server 2016 нажмите кнопку Windows и введите: PowerShell, щелкните правой кнопкой мыши и выберите «Запуск от имени администратора».

Введите следующие команды

w32tm /config /manualpeerlist:ntp1.stratum2.ru /syncfromflags:manual /reliable:yes /update

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


Stop-Service w32time
Start-Service w32time

Конечно, вы можете взять любой NTP-сервер, какой захотите. Я брал отсюда

Теперь проверьте, правильно ли настроен сервер времени на вашем сервере Server 2016, набрав:

w32tm /query /status

Расширенная настройка NTP на Windows Server 2016

Расширенная настройка нашего эмулятора PDC на работу с внешними источниками точного времени. Все изменения также будут вноситься через реестр. Прежде всего изменим тип сервера на NTP, для этого откроем ветку

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters

и для параметра Type укажем строковое значение NTP. А для параметра NtpServer зададим адреса серверов точного времени, после каждого из которых, через запятую укажем 0x8, если мы хотим работать как стандартный NTP-клиент или 0x1 если будем использовать собственные параметры, например:

ntp1.stratum2.ru,0x1 ntp2.stratum2.ru,0x1 ntp4.stratum2.ru,0x1

После чего в

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer

Параметр Enabled установим в значение 1.

Затем перейдем в

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config

и установим для параметра AnnounceFlags значение A.

Значение «AnnounceFlags» может составлять сумму его флагов, например:

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

5=1+4 — NTP-сервер всегда заявляет о себе как о надежном источнике времени. Например, чтобы заявить рядовой сервер (не контроллер домена) как надежный источник времени, нужен флаг 5;

Следующие параметры будут работать, только если мы при указании серверов добавили 0x1, иначе будут использоваться настройки, предлагаемые сервером. Чтобы задать период синхронизации откройте ветку

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient

и для параметра SpecialPollInterval укажите десятичное значение в секундах.

Вернемся в

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config

И зададим максимальное время опережения и отставания часов, после которых синхронизация производиться не будет. Для этого используются параметры MaxPosPhaseCorrection (опережение) и MaxNegPhaseCorrection (отставание) для которых также следует задать десятичное значение в секундах. По умолчанию стоит 48 часов. Это значит, что если время на эмуляторе PDC уйдет от точного источника более чем на 48 часов в любую сторону, то синхронизация производиться не будет.

Если вы хотите, чтобы время синхронизировалось всегда, то установите в оба параметра шестнадцатеричное значение FFFFFFFF.

Выполнив настройки перезапустите Службу времени Windows, это также можно сделать в командной строке:

net stop w32time
net start w32time

После чего еще раз выполним команду чтобы показать источники времени и их состояние

w32tm /query /peers

выполняем еще команду

w32tm /query /source

и убедимся, что источником времени для эмулятора PDC является внешний сервер.

Затем выполним данную команду на рядовых контроллерах домена, в качестве источника времени там должен быть указан эмулятор PDC, и на обычных ПК, где в выводе будет присутствовать любой из контроллеров домена. Обязательно выполните контроль для виртуальных машин, чтобы быть уверенным, что они используют время домена, а не хоста виртуализации.

Проверка работы NTP сервера (Живой ли внешний NTP сервер с которого мы берем время)

В Windows, нужно открыть командную строку и выполнить команду w32tm со специальными параметрами. Где ntp1.stratum2.ru — это NTP сервер

w32tm /stripchart /computer:ntp1.stratum2.ru /dataonly /samples:3

Ответ будет содержать локальное время, и разницу со временем на указанном NTP сервере. Например:

w32tm /stripchart /computer:ntp1.stratum2.ru /dataonly /samples:3
Tracking ntp1.stratum2.ru [88.147.254.230:123].
Collecting 3 samples.
The current time is 8/1/2022 3:48:56 PM.
15:48:56, +00.0098812s
15:48:58, -00.0036452s
15:49:00, +00.0005137s
PS C:\Users\Administrator>

На данном выводе видно что погрешность синхронизации составяляет +00.0098812s

Список команд w32tm

Основные команды конфигурации w32tm

  • w32tm /register — Регистрация и включение службы со стандартными параметрами.
  • w32tm /unregister — Отключение службы и удаление параметров конфигурации.
  • w32tm /monitor — Просмотр информации по домену.
  • w32tm /resync — Команда принудительной синхронизации с заданным в конфигурации источником.
  • w32tm /config /update — Применить и сохранить конфигурацию.
  • w32tm /config /syncfromflags:domhier /update – Задаем настройку синхронизации с контроллером домена.
  • w32tm /config /syncfromflags:manual /manualpeerlist:time.windows.com – задать конкретные источники синхронизации времени по протоколу NTP.

Просмотр параметров (/query)

  • w32tm /query /computer:<target>  — Информация о стутусе синхронизации определенной станции (если имя не указано — используется локальный компьютер).
  • w32tm /query /Source – Показать источник времени.
  • w32tm /query /Configuration — Вывод всех настроек службы времени Windows.
  • w32tm /query /Peers – Показать источники времени и их состояние.
  • w32tm /query /Status – Статус службы времени.
  • w32tm /query /Verbose – Подробный вывод всей информации о работе службы.

Также хотел бы поделится комментарием найденным на форуме

За настройку NTP через политики надо больно бить по рукам.
1. В доменной среде ничего не надо делать, контроллеры берут время с PDC, клиенты с контроллера.
2. Точности времени секунда в секунду не добьетесь.
Больная тема для меня. Предыдущие админы нахреначили синхронизацию чуть ли не в 10 разных политиках, до сих пор натыкаюсь и с матами удаляю.
Есть проблема с синхронизацией времени?
На всех контроллерах:
1. Убиваем службу w32time
2. Грохаем ветку реестра HKLM\System\CurrentControlSet\services\W32Time\
3. Регистрируем службу заново
4. Проверяем, что параметр TYPE в HKLM\System\CurrentControlSet\services\W32Time\Parameters равен NT5DS

Конфигурация NTP-сервера
Задаем тип синхронизации внутренних часов, на использование внешнего источника. 
NoSync — NTP-сервер не синхронизируется с каким либо внешним источником времени. Используются системные часы, встроенные в микросхему CMOS самого сервера.
NTP — NTP-сервер синхронизируется с внешними серверами времени, которые указаны в параметре реестра NtpServer.
NT5DS — NTP-сервер производит синхронизацию согласно доменной иерархии.
AllSync — NTP-сервер использует для синхронизации все доступные источники.

На PDC настраиваем синхронизацию с внешним поставщиком времени
5. И ничего б*ть не трогаем!=) Через какое-то время время стабилизируется.
Для понимания — время не импортируется, оно сверяется и подгоняется под эталон.
Не забываем, что для керберос разница в 5 минут не критична.
Хитрожопых кадровиков и безопасников, желающих снихронить свои убогие СКУДы с виндовыми тачками слать надолго и подальше.
Всё, я кончил =)
===
Полностью согласен. Время домена — не повод для торговли. Оно должно быть правильным, но в разумных пределах, плюс-минус несколько минут не являются критичными для общения. Хотя встречал домен, где для хождения кербероса админы сделали максимальную погрешность часов сутки. Всякое бывает, но «правильный» админ всегда найдет решение… или костыль…
===
ПК не знает и никак не узнает, что PDC сменился. Так что политика обязательно должна быть!
===
А ему не надо знать. Он кричит в сеть «PDC!!!», а те сами знают, кому из них отозваться. У них DNS для этого есть.




Windows Server 2016 — это мощная операционная система, которая широко используется в корпоративном окружении. Важным аспектом работы сервера является правильная настройка сервера времени.

Точное время на сервере крайне важно для различных сетевых процессов, включая аутентификацию пользователей, журналирование событий и синхронизацию между различными устройствами. По умолчанию, Windows Server 2016 использует службу времени Network Time Protocol (NTP), чтобы синхронизироваться с внешними временными серверами.

Однако, в некоторых случаях, необходимо настроить сервер времени вручную. В этой статье мы рассмотрим подробное руководство по настройке сервера времени в Windows Server 2016.

Вы узнаете, как изменить конфигурацию NTP сервера, добавить или удалить внешние временные сервера, проверить статус синхронизации времени и многое другое. Приступим!

Содержание

  1. Установка и настройка Windows Server 2016
  2. Подключение к серверу времени
  3. Настройка точности сервера времени
  4. Резервирование сервера времени
  5. Настройка клиента времени
  6. Синхронизация с внешним временным сервером
  7. Отладка и проверка работы сервера времени

Установка и настройка Windows Server 2016

  • Перед установкой сервера необходимо проверить, соответствует ли ваша аппаратная платформа требованиям системы. Убедитесь, что ваш сервер имеет достаточно оперативной памяти, свободного места на жестком диске и достаточно процессорных ресурсов.
  • Приступая к установке, загрузите образ операционной системы Windows Server 2016 с официального сайта Microsoft и записывайте его на подходящий носитель, такой как DVD или флеш-накопитель.
  • Запустите установку Windows Server 2016 с помощью загрузочного носителя. Следуйте инструкциям мастера установки для выбора языка, региональных параметров и сохранения настроек.
  • Настройте пароль администратора и укажите имя вашего сервера.
  • Выберите уровень безопасности для вашего сервера и установите все обновления системы.
  • Настройка WINDOWS FIREWALL: установите параметры безопасности и правила фильтрации для защиты сети сервера.
  • Установите и настройте необходимые роли и функции сервера в зависимости от ваших потребностей. Роли и функции определяют, как сервер будет взаимодействовать с другими компьютерами и службами в сети.
  • НАСТРОЙКА СЕТИ: выделите надлежащий статический IP-адрес для вашего сервера и настройте DNS-серверы.
  • Настройте службу времени для синхронизации сервера с надежным источником времени.
  • Установите и настройте дополнительные программы и приложения, необходимые для вашего сервера.
  • Немедленно создайте резервные копии важных данных сервера и установите безопасность своей системы.

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

Подключение к серверу времени

Для настройки сервера времени на Windows Server 2016 необходимо выполнить подключение к серверу времени. Это позволит синхронизировать время на вашем сервере со временем внешнего источника.

Чтобы подключиться к серверу времени в Windows Server 2016, выполните следующие шаги:

  1. Откройте командную строку. Для этого нажмите клавишу Win и введите «cmd». Затем выберите «Командная строка» в результатах поиска.
  2. В командной строке введите следующую команду:
  3. w32tm /config /manualpeerlist:"server1.example.com server2.example.com" /syncfromflags:manual /reliable:yes /update
    

    Замените «server1.example.com» и «server2.example.com» на адреса серверов времени, к которым вы хотите подключиться.

  4. Нажмите клавишу Enter, чтобы выполнить команду. Если команда выполнена успешно, вы увидите сообщение «Команда успешно выполнена».
  5. Чтобы запустить службу времени, введите следующую команду:
  6. net start w32time
    
  7. Нажмите клавишу Enter, чтобы выполнить команду.

Теперь ваш сервер времени будет синхронизироваться с выбранными вами внешними источниками времени.

Настройка точности сервера времени

Точность сервера времени на Windows Server 2016 может быть определена с использованием параметра «Precision». Этот параметр определяет дробное число секунд, которое сервер времени может отклониться в своей синхронизации с точным временем.

По умолчанию значение параметра «Precision» на Windows Server 2016 равно 1 (вдесятеричном формате), что означает, что сервер времени может отклониться на 1 секунду от точного времени.

Однако, если требуется более высокая точность, параметр «Precision» может быть увеличен до 0.1, 0.01 или 0.001 секунды. Для этого необходимо выполнить следующую команду:


w32tm /config /update /manualpeerlist:"0.pool.ntp.org,0x1" /syncfromflags:manual /reliable:yes /update /precision:0.01

Здесь значение параметра «precision» равняется 0.01, что означает, что сервер времени может отклониться на 0.01 секунды. Это обеспечивает более высокую точность синхронизации времени на сервере.

После установки нового значения параметра «Precision» необходимо перезапустить службу времени командой:


net stop w32time && net start w32time

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

Резервирование сервера времени

Для настройки резервирования сервера времени в Windows Server 2016 нужно выполнить следующие шаги:

  1. Установите дополнительный сервер времени, который будет использоваться в качестве резервного. Обычно, резервным сервером времени является другой сервер в сети.
  2. Откройте «Синхронизацию времени» в системных настройках сервера времени.
  3. Выберите опцию «Настроить сервер времени вручную».
  4. Укажите IP-адрес источника времени, который будет использоваться как резервный. Убедитесь, что резервный сервер имеет стабильное соединение с основным сервером.
  5. Активируйте опцию «Использовать вторичный сервер, когда основной сервер недоступен».

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

Обратите внимание: Настройка резервирования сервера времени требует доступа к системным настройкам Windows Server 2016 и прав администратора.

Настройка клиента времени

Для правильной настройки клиента времени в Windows Server 2016 необходимо выполнить следующие шаги:

  1. Откройте «Панель управления» и выберите «Настройки времени и язык».
  2. В открывшемся окне выберите раздел «Дата и время» и нажмите на кнопку «Изменить дату и время».
  3. Установите правильное время и дату для клиента или выберите автоматическую настройку времени, нажав на переключатель «Автоматически» в разделе «Настройка времени».
  4. При необходимости выберите правильный часовой пояс для клиента, нажав на ссылку «Изменить часовой пояс».
  5. После завершения настройки клиента времени, нажмите на кнопку «Применить» и закройте окно «Настройки времени и язык».

Теперь клиент времени настроен правильно и будет синхронизироваться с сервером времени. Это позволит гарантировать точность времени на всех компьютерах в сети.

Синхронизация с внешним временным сервером

Для обеспечения точности времени на сервере Windows Server 2016 часто требуется синхронизация с внешним временным сервером. Внешний временный сервер, также известный как временной сервер NTP (Network Time Protocol), предоставляет серверу точное время, которое может быть использовано для синхронизации с другими устройствами в сети.

Чтобы настроить синхронизацию с внешним временным сервером, следуйте следующим шагам:

  1. Откройте командную строку с правами администратора.
  2. Введите команду w32tm /query /peers, чтобы просмотреть текущую конфигурацию временных серверов.
  3. Выберите внешний временной сервер, с которым вы хотите синхронизировать сервер Windows. Обратитесь к серверам NTP, доступным в вашем регионе, и выберите сервер с низкой задержкой и высокой точностью.
  4. Введите команду w32tm /config /syncfromflags:manual /manualpeerlist:»временный_сервер», заменив «временный_сервер» на адрес выбранного внешнего временного сервера.
  5. Введите команду w32tm /config /update, чтобы обновить конфигурацию временного сервера.
  6. Введите команду net stop w32time для остановки службы времени Windows.
  7. Введите команду net start w32time для перезапуска службы времени Windows.
  8. Введите команду w32tm /resync, чтобы синхронизировать сервер с выбранным внешним временным сервером.
  9. Проверьте, что синхронизация прошла успешно, введя команду w32tm /query /status и убедившись, что параметр «Источник времени» указывает на выбранный внешний временной сервер.

Теперь ваш сервер Windows Server 2016 настроен для синхронизации с выбранным внешним временным сервером. Это позволит вам иметь точное время на сервере и синхронизировать его с другими устройствами в сети.

Отладка и проверка работы сервера времени

После настройки сервера времени в Windows Server 2016 важно проверить его работу и удостовериться, что он функционирует корректно. Для этого можно использовать несколько инструментов и методов отладки.

  • Проверка синхронизации времени: Для начала, проверьте соответствие времени на сервере времени и на клиентских компьютерах. Убедитесь, что время на всех устройствах совпадает.
  • События журнала событий: Проверьте журнал событий на наличие ошибок или предупреждений, связанных с сервером времени. Если в журнале есть соответствующие записи, вам может потребоваться принять меры для их устранения.
  • Использование утилиты w32tm: Утилита w32tm является полезным инструментом для отладки и настройки сервера времени. Вы можете использовать различные команды w32tm для проверки текущих настроек времени, синхронизации с внешними источниками времени и других параметров.
  • Проверка доступности внешних источников времени: Убедитесь, что ваш сервер времени может подключиться к выбранным внешним источникам времени. Вы можете использовать команду w32tm или другие инструменты для проверки доступности и синхронизации с этими источниками.

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

In this article, I will show you how to configure NTP Server on Windows Server 2016 in just a few steps.

We will use PowerShell to change the NTP Server and we will validate if it worked afterward.

Configure the NTP Server on Windows Server 2016

On your Windows Server, 2016 hit the Windows Button and type: PowerShell and right-click it and select Run as Administrator

Type the following commands

w32tm /config /manualpeerlist:pool.ntp.org /syncfromflags:MANUAL
Stop-Service w32time
Start-Service w32time

Of course, you can take any NTP Server that you want.

Now verify if the time-server was set correctly on your Server 2016 by typing:

w32tm /query /status

You should get a reply like this:

Now we will go ahead and verify if our clients sync properly.

Verifying if the Time Server was correctly set on our Clients

On a client computer open a PowerShell with right-click and Run as Administrator….

Type:

w32tm /query /status

Check the time-server and type:

w32tm /resync 
w32tm /query /status

Then you are able to see that the time-server actually changed like in the example below.

And that’s it! Easy, right?

Always make sure that you use the same time-server in your network and that all your clients are syncing with it. If you have time differences inside of your Active Directory Domain you will run into major issues.

StarWind VSAN

Viewing-the-NTP-registry-values-that-are-configured-for-your-Windows-Server
Viewing-the-NTP-registry-values-that-are-configured-for-your-Windows-Server

There is no question about it, having accurate time in your environment set in critical infrastructure systems is a must. Many business-critical applications and infrastructure systems rely on accurate time synchronized between them to ensure the system functions as expected. Time skew can cause all kinds of weirdness when it is misconfigured or out of sync between different servers/systems. This is especially true in a Windows Server Active Directory domain. Having accurate time between a client computer and domain controllers is essential. Let’s take a look at how to set ntp server Windows 2016 or Windows 2019 to see how this can be easily carried out.

What is NTP?

Wen it comes to synchronizing time in most enviornments, Network Time Protocol (NTP) is the protocol that is used to ensure accurate time across your environent. In most environments, NTP servers, special time servers, are configured that provide an external time source for which your internal servers can synchronize with.

There are several widely known NTP IP addresses on the Internet that provide reliable time sources for your network. The NTP.org servers are one such set of time servers that provide an NTP source for configuration.
There are a few NTP values to be aware of:

  • NTP Server – This is a specialized server that is able to detremine the precise time from an external timing reference such as GPS and passes these precise time values on to your network
  • Offset – This is the difference in time between the external time server and the time on a local client computer. The larger the offset, the more inaccurate the timing source is.
  • Delay – This is the value of the round-trip time (latency) of the timing message between the client to the server and back again.

How Time is synchronized in a Windows Server domain

In a Windows domain, Microsoft has default configuration in place that takes care of a good portion of the NTP configuration. Starting with Windows 2000 Server, Windows clients are configured as NTP Clients. When configured as an NTP client, Windows computers only attempt to contact the domain controller for NTP synchronization or a manually specified NTP server.

Cameyo Virtual App Delivery

Microsoft has made the domain controller the default in a Windows domain since it makes sense that clients already have a secure channel established with DCs for other types of communications. Additionally, accurate and synchronized time between domain controllers and clients is especially important for all kinds of things such as logins, group policy synchronization and other tasks/operations.

The order of operations or hierarchy in a Windows domain is as follows:

  • Domain members attempt to synchronize time with any domain controller located in the domain
  • Domain controllers synchronize with a more authoritative domain controller
  • The first domain controller that is installed in the environment is automatically configured to be a reliable time source.
  • Other than the first domain controller installed, the PDC emulator (if role has been moved from the first DC installed) generally holds the position of best time source.

An important point to consider and that comes into play when thinking about why we set ntp server in Windows 2016 or Windows 2019 is the authoritative domain controller must have a reliable source to synchronize with as well. This is generally an external time server outside of the domain hierarchy.

Now that we know how the domain hierarchy for time is configured, how is the external time source configured on your domain controller that is configured as the reliable source of time?

Configuring Windows Time Service with W32tm.exe

When it comes to Windows Server environments like Windows Server 2016 or Windows Server 2019, there is a special Windows service that controls the time synchronization of your Windows hosts. This is the Windows Time Service.

Microsoft provides a command line tool to interact with the Windows Time Service called W32tm.exe. This has been included in Windows operating systems since Windows XP/Windows 2003 and later. It can be used to configure Windows Time service parameters as well as diagnose time service problems. This is generally the tool of choice when it comes to configuring, monitoring, and administering Windows Time.

Using the W32tm.exe utility is fairly straightforward. It can be used from a normal command prompt as well as from a PowerShell prompt. There are several command parameters included that allow not only configuring the NTP servers you want to query, but also parameters that allow viewing the low level registry configuration as well as the synchronization status.

You can read the official Microsoft KB on the Windows Time service and the W32tm.exe utility here:

  • https://docs.microsoft.com/en-us/windows-server/networking/windows-time-service/windows-time-service-tools-and-settings

However, there are a few commands I would like to show you for the purposes of configuring your Domain controller that is to be the reliable time source (PDC Emulator) for your domain.

The first command is the command line entry to specify your NTP servers, which in this case I am using the NTP.org servers to set as the source of my NTP synchronization.

w32tm /config /syncfromflags:manual /manualpeerlist:"0.us.pool.ntp.org 1.us.pool.ntp.org 2.us.pool.ntp.org 3.us.pool.ntp.org" /update

Stop-Service w32time
Start-Service w32time

Configuring-the-time-source-for-your-domain-with-the-w32tm-utility

Configuring the time source for your domain with the w32tm utility

If you want to view the status of the NTP synchronization on your server after you have configured the values and restarted the w32time service, you can use the following command:

w32tm /query /status

Querying-the-NTP-synchronization-status-of-your-Windows-Server-2016-or-2019-domain-controller

Querying the NTP synchronization status of your Windows Server 2016 or 2019 domain controller

You can also check the values configured in your registry key hkey local machine system currentcontrolset services w32time config using the commands below. You can drill into the configuration parameters using the /dumpreg /subkey command.

w32tm /dumpreg

w32tm /dumpreg /subkey:parameters

Viewing-the-NTP-registry-values-that-are-configured-for-your-Windows-Server

Viewing the NTP registry values that are configured for your Windows Server

Final Thoughts

As shown, you can easily set NTP Server Windows 2016 or Windows 2019 using the w32tm command utility that allows interacting with the time service in Windows Server.

In a Windows domain, you want to configure your authoritative time source domain controller, which by default is the PDC Emulator, to pull time information from an authoritative source like NTP.org or some other reliable NTP time server.

After configuring the time source, the other domain controllers will synchronize with this server and then the Windows clients joined to the domain will synchronize with the domain controllers that have the corrected time from the authoritative server.

How to sync the time to a public time server using NTP

You need to use the w32tm command.

First check the current settings :

image

What about the 0x1 parameter ?

https://support.microsoft.com/en-us/help/875424/time-synchronization-may-not-succeed-when-you-try-to-synchronize-with

  • 0x01 – Use special poll interval Special Interval
  • 0x02 – Use As Fall back Only
  • 0x04 – Send request as Symmetric Active mode
  • 0x08 – Send request as Client mode

To set a new External Time Server like pool.ntp.org use this command :

net stop w32time

w32tm /config /manualpeerlist:pool.ntp.org /syncfromflags:MANUAL

net start w32time

w32tm /resync

This is the configuration :

w32tm /query /configuration

image

These are all the command line switches :

w32tm [/? | /register | /unregister ]
? – this help screen.
register – register to run as a service and add default
configuration to the registry.
unregister – unregister service and remove all configuration
information from the registry.

w32tm /monitor [/domain:<domain name>]
[/computers:<name>[,<name>[,<name>…]]]
[/threads:<num>] [/ipprotocol:<4|6>] [/nowarn]
domain – specifies which domain to monitor. If no domain name
is given, or neither the domain nor computers option is
specified, the default domain is used. This option may be
used more than once.
computers – monitors the given list of computers. Computer
names are separated by commas, with no spaces. If a name is
prefixed with a ‘*’, it is treated as an AD PDC. This option
may be used more than once.
threads – how many computers to analyze simultaneously. The
default value is 3. Allowed range is 1-50.
ipprotocol – specify the IP protocol to use. The default is
to use whatever is available.
nowarn – skip warning message.

w32tm /ntte <NT time epoch>
Convert a NT system time, in (10^-7)s intervals from 0h 1-Jan 1601,
into a readable format.

w32tm /ntpte <NTP time epoch>
Convert an NTP time, in (2^-32)s intervals from 0h 1-Jan 1900, into
a readable format.

w32tm /resync [/computer:<computer>] [/nowait] [/rediscover] [/soft]
Tell a computer that it should resynchronize its clock as soon
as possible, throwing out all accumulated error statistics.
computer:<computer> – computer that should resync. If not
specified, the local computer will resync.
nowait – do not wait for the resync to occur;
return immediately. Otherwise, wait for the resync to
complete before returning.
rediscover – redetect the network configuration and rediscover
network sources, then resynchronize.
soft – resync utilizing existing error statistics. Not useful,
provided for compatibility.

w32tm /stripchart /computer:<target> [/period:<refresh>]
[/dataonly] [/samples:<count>] [/packetinfo] [/ipprotocol:<4|6>]
Display a strip chart of the offset between this computer and
another computer.
computer:<target> – the computer to measure the offset against.
period:<refresh> – the time between samples, in seconds. The
default is 2s
dataonly – display only the data, no graphics.
samples:<count> – collect <count> samples, then stop. If not
specified, samples will be collected until Ctrl-C is pressed.
packetinfo – print out NTP packet response message.
ipprotocol – specify the IP protocol to use. The default is
to use whatever is available.

w32tm /config [/computer:<target>] [/update]
[/manualpeerlist:<peers>] [/syncfromflags:<source>]
[/LocalClockDispersion:<seconds>]
[/reliable:(YES|NO)]
[/largephaseoffset:<milliseconds>]
computer:<target> – adjusts the configuration of <target>. If not
specified, the default is the local computer.
update – notifies the time service that the configuration has
changed, causing the changes to take effect.
manualpeerlist:<peers> – sets the manual peer list to <peers>,
which is a space-delimited list of DNS and/or IP addresses.
When specifying multiple peers, this switch must be enclosed in
quotes.
syncfromflags:<source> – sets what sources the NTP client should
sync from. <source> should be a comma separated list of
these keywords (not case sensitive):
MANUAL – sync from peers in the manual peer list
DOMHIER – sync from an AD DC in the domain hierarchy
NO – sync from none
ALL – sync from both manual and domain peers
LocalClockDispersion:<seconds> – configures the accuracy of the
internal clock that w32time will assume when it can’t acquire
time from its configured sources.
reliable:(YES|NO) – set whether this machine is a reliable time source.
This setting is only meaningful on domain controllers.
YES – this machine is a reliable time service
NO – this machine is not a reliable time service
largephaseoffset:<milliseconds> – sets the time difference between
local and network time which w32time will consider a spike.

w32tm /tz
Display the current time zone settings.

w32tm /dumpreg [/subkey:<key>] [/computer:<target>]
Display the values associated with a given registry key.
The default key is HKLM\System\CurrentControlSet\Services\W32Time
(the root key for the time service).
subkey:<key> – displays the values associated with subkey <key>
of the default key.
computer:<target> – queries registry settings for computer <target>.

w32tm /query [/computer:<target>]
{/source | /configuration | /peers | /status}
[/verbose]
Display a computer’s windows time service information.
computer:<target> – query the information of <target>. If not
specified, the default is the local computer.
source: display the time source.
configuration: display the configuration of run-time and where
the setting comes from. In verbose mode, display the undefined
or unused setting too.
peers: display a list of peers and their status.
status: display windows time service status.
verbose: set the verbose mode to display more information.

w32tm /debug {/disable | {/enable /file:<name> /size:<bytes> /entries:<value>
[/truncate]}}
Enable or disable local computer windows time service private log.
disable: disable the private log.
enable: enable the private log.
file:<name> – specify the absolute filename.
size:<bytes> – specify the maximum size for circular logging.
entries:<value> – contains a list of flags, specified by number and
separated by commas, that specify the types of information that
should be logged. Valid numbers are 0 to 300. A range of numbers
is valid, in addition to single numbers, such as 0-100,103,106.
Value 0-300 is for logging all information.
truncate: truncate the file if it exists.

Now that you set the server to properly sync you can use this one as internal NTP server for other devices.

TIP :

Keep in mind to set the firewall UDP 123 rules to accept.

More info see here

Enjoy !


This entry was posted on Wednesday, October 30th, 2019 at 4:18 pm and is filed under Server, Windows. You can follow any responses to this entry through the RSS 2.0 feed.
You can leave a response, or trackback from your own site.

  • Как изменить время выключения экрана windows 10
  • Как изменить видеокарту по умолчанию windows 10
  • Как изменить время в биосе на windows 10
  • Как изменить видеокарту на ноутбуке windows 10
  • Как изменить время в windows 10 через cmd