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

Правильная настройка времени в домене Windows.

Тезисы:

1. Контроллер домена с функциями PDC - должен синхронизировать время с внешнего источника.
2. На всех виртуальных контроллерах домена должна быть отключена синхронизация времени с гипервизором хоста.
3. Остальные компьютеры в домене, включая другие КД - должны получать время с контроллеров домена.

Настройка:

:!: Для того, чтобы настройки применялись только на PDC - надо создать объект GPO с фильтром WMI, чтобы он применялся только к PDC, а не ко всем КД.

В оснастке Group Policy Management надо создать фильтр с именем Filter PDC Emulator.
В пространстве root\CIMv2 создаем запрос: Select * from Win32_ComputerSystem where DomainRole = 5

Теперь этот фильтр можно будет применить к GPO, которая будет настраивать PDC.

GPO для параметров, которые нужно задать:

 Computer Configuration > Administrative Templates > System > Windows Time Service > Time Providers   

В нем конфигурируем все три параметра в enabled: разрешаем КД быть сервером NTP, настраиваем его самого в качестве клиента внешнего NTP и конфигурируем его параметры (сервер, с которым он будет синхронизироваться сам).

:!: Обязательно выставляем тип в NTP, как показано на скриншоте.

Обновляем политику:

 gpupdate /force

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

 w32tm /config /update

Удостоверяемся, что все работает нормально и смотрим - откуда КД берет время:

 w32tm /query /status
 w32tm /query /source

Клиенты, введенные в домен, по-умолчанию синхронизируют своё время с КД, поэтому - высок шанс, что ничего настраивать не нужно. Если требуется настройка - идём в тот же раздел GPO и настраиваем там параметр configure ntp client, в качестве сервера указывая наш контроллер домена.

:!: При этом, тип обязательно должен быть NT5DS.

Другая полезная информация

Вручную ресинхронизировать время:

 w32tm /resync

Чтобы перерегистрировать службу времени, нужно выполнить:

 net stop w32time
 w32tm /unregister
 w32tm /register
 net start w32time

Отключить из гостевой системы синхронизацию с гипервизором (HYPER-V):

 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\VMICTimeProvider\enabled -> 0

Посмотреть - что задано в реестре в качестве серверов NTP:

 reg query HKLM\SYSTEM\CurrentControlSet\Services\W32Time\Parameters

Вручную задать NTP серверы:

 w32tm /config /syncfromflags:manual /manualpeerlist:"0.pool.ntp.org, 1.pool.ntp.org, 2.pool.ntp.org"   

Частота синхронизации настраивается в параметре MaxPollInterval

 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config

Для того, чтобы понять с какой частотой в минутах синкается время - необходимо 2 возвести в степень десятеричного значения данного парамтра и разделить на 60. К примеру, если его значение 10, то 2^10\60 - будет частота синхронизации времени в минутах.

Время в гостевой ОС после отключения синхронизации в гипервизоре будет выглядеть так:

 Local CMOS Clock или Free-running System Clock

Существует хорошая утилита для проверки коннекта и работы NTP:

Galleon NTP Checker: https://www.ntp-time-server.com/ntp-software/ntp-check.html