Служба времени Windows, несмотря на кажущуюся простоту является основой нормального функционирования AD.
Итак, в нормально настроенной среде служба времени функционирует так: пользователи получают точное время от ближайшего контроллера домена, на котором они зарегистрировались, все доменные контроллеры запрашивают об этом DC с ролью FSMO «Эмулятор PDC», а тот, в свою очередь, синхронизируется с внешним источником времени. Внешним источником как правило выступает один или несколько NTP-сервера институтов времени, например time.windows.com или NTP-сервер вашего провайдера.
Если у вас рассинхронизация контроллеров домена между собой и жалобы пользователей на то, что наше время отличается от точного, то вам сюда.
Настройка вашего доменного контроллера с ролью «Эмулятора PDC» на синхронизацию с внешним источником:
- находим все DC и того, кто из них PDC эмулятор
netdom query fsmo
- на PDC делаем следующее
w32tm /stripchart /computer:time.windows.com /samples:5 /dataonly
которая произведет 5 сравнений с источником, а затемw32tm /config /manualpeerlist:time.windows.com /syncfromflags:manual /reliable:yes /update
которая непосредственно выполнит настройку.Можно указать сразу несколько серверов, в этом случае необходимо раздели имена серверов пробелом и всех их заключит в ковычки: /manualpeerlist:"time.windows.com clock0.macomnet.ru"
!!!внимание, связь с источником осуществляется по протоколу NTP – 123 порт UDP.
Все эти изменения аналогичнв следующим значениям в реестре
#HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters\NtpServer
Там должен быть записан ip адрес или полной имя нашего ntp сервера и запись должна обязательно заканчиваться строкой “,0?1”. Кавычки, понятное дело, нужно убрать. Кстати, к этому суффиксу я вернусь позже. Для уверенности в том, что тут нету ошибки, неплохо бы попингать скопированный оттуда адрес или имя.#HKLM\SYSTEM\CurrentControlSet\Services\W32Time\Parameters\Type
убедиться, что там прописано NTP, а неNT5DS#HKLM\SYSTEM\CurrentControlSet\Services\W32Time\Config\AnnounceFlags
тут должна быть 5 - Если Вы перенесли роль PDC Emulator на другой сервер, необходимо дополнительно выполнить настройку старого сервера командой
w32tm /config /syncfromflags:domhier /reliable:no /update
и перезапустить службу времени -net stop w32time net start w32time
- На остальных контроллерах домена рекомендуется сделать
w32tm /unregister w32tm /register
Эта операция удаляет службу времени, а затем снова ее устанавливает, причем, что важно, удаляется, а затем создается заново вся ветка параметров в реестре.
Очень рекомендуется перезапустить контроллер домена, являющийся pdc эмулятором, да и все остальные тоже.
Если проблемы всё равно возникают, то стоит попробовать заменить значение 0х01 на 0х08 в параметре
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters\NtpServer
чтобы стали посылаться стандартные клиентские запросы.
Перезапускаем сервис времени net stop w32time && net start w32time
Очень рекомендуется проверить все политики, имеющие отношение к настройкам сервиса времени, а именно:
Default Domain Controllers group policy Default Domain group policyну и все другие, которые имеют отношение к домен контроллерам, серверам и рабочим станциям и в которых изменены любые значения в разделе
Computer configuration/Administrative Templates /System/Windows Time service/Time Providers
Убедитесь, что все значения там в состоянии “not configured”. При необходимости, играть с параметрами следует позже.
В особо тяжелых случаях может помочь включение лога для сервиса. Для настройки этого используются три параметра в реестре по пути
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config
Если нижеприведенных ключей там нету, а их нету по умолчанию, то их следует создать
Value Name: FileLogSize
Data Type: DWORD
Value data: 10000000
Этот параметр определяет максимальный размер файла лога в байтах. Значение 10000000 байт ограничит файл приблизительно в 10 Mb.
Value name: FileLogName
Data Type: REG_SZ (String)
Value data: C:\Test\w32time_log.txt
Этот параметр определяет место и имя файла лога.
Value name: FileLogEntries
Data Type: REG_SZ (String)
Value: 0-116
Этот параметр определяет уровень детализации лога. Диапазон значений параметра 0-116. (Если ввести туда 0-300, то уровень детализации станет максимальным)
Вместо изменения значений в реестре, можно то же самое сделать из командной строки
w32tm /debug /enable /file:C:\Test\w32time_log.txt /size:100000 /entries:0-300
Чтобы выключить логи отладки можно ввести команду
w32tm /debug /disable
Несколько самых известных источников времени:
1. ntp2.usno.navy.mil
2. pool.ntp.org
3. clock0.macomnet.ru
Проверить что со временем все в порядке можно так:
C:\>w32tm /monitor dc.local *** PDC ***[[::1]:123]: ICMP: 0ms задержка NTP: +0.0000000s смещение относительно dc.local RefID: 'LOCL' [0x4C434F4C] Страта: 1
C:\>w32tm /dumpreg /subkey:parameters Имя параметра Тип параметра Данные параметра ------------------------------------------------------------------ ServiceDll REG_EXPAND_SZ %systemroot%\system32\w32time.dll ServiceMain REG_SZ SvchostEntry_W32Time ServiceDllUnloadOnStop REG_DWORD 1 Type REG_SZ NTP NtpServer REG_SZ pool.ntp.org,0
ну и в нагрузку
http://support.microsoft.com/kb/816042
http://support.microsoft.com/default.aspx?scid=kb;en-us;Q216734
логипрование изменения системного времени http://it-tips.tk/windows/vkluchit-logging-izmenenie-vremeni-change-time/