В последнее время мне часто задают вопросы о синхронизации времени в ОС нового поколения Windows Vista и Server 2008. Что ж, попробую в этом посте максимально подробно рассказать об этом процессе.
Проблем может быть несколько: здесь я расскажу о двух популярных и одной малоизвестной, но очень мерзкой.
1. Вы устанавливаете Vista/Server 2008 и не вводите этот компьютер в домен. В этом случае у вас будет доступна вкладка Internet Time при правом щелчке на часы в трее и выборе Adjust Time/Date или выборе Date and Time из панели управления.
по умолчанию там указан сервер времени time.microsoft.com. Если вы живете по тому же распорядку дня, что и миллионы других жителей вашего часового пояса, то часто может возникать ошибка «An error occurred while Windows was synchronizing with time.windows.com. This operation returned because the timeout period expired.» Предположительно недоступность сервера может быть вызвана, например, чрезмерным количеством обращений к этому серверу и может быть исправлено указанием другого сервера или другого интервала проверки времени. Для изменения сервера времени необходимо изменить его имя в закладке internet time
или выполнить команду net time /setsntp:»time.nist.gov». После чего надо перезапустить службу времени net stop w32time && net start w32time. Также необходимо убедиться, что служба запускается автоматически – это можно проверить консолью Services (Control Panel – Administrative Tools – Services)

Часто бывает так, что после выключения компьютера время сбивается (почти наверняка вызвано «умершей» батарейкой на материнской плате). Для того, чтобы изменить частоту синхронизации времени нам придется править реестр. Для этого открываем regedit и переходим по следующему пути: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w32time\TimeProviders\NtpClient
дважды щелкаем на ключ SpecialPollInterval
в значении содержиться число секунд в шестнадцатиричной системе через которое обновляется время с NTP сервера, если перевести в 10ную систему получиться 3600 секунд, то есть 1 час. Если это значение необходимо изменить, то можно в 10ной системе ввести необходимый интервал; рекомендуется ставить интервал не чаще 4 часов, иначе NTP серверы могут вас заблокировать. Важное замечание: если вы используете сторонние firewall-продукты, необходимо проверить, разрешен ли 123 порт для синхронизации времени.
2. Если компьютер присоединен в домен, то в Vista/Server 2008 вкладка Internet time будет отсутствовать
это происходит потому, что по умолчанию члены домена получают время с контроллера домена, который их авторизовал, а сами контроллеры домена с PDC Emulator’a, поэтому для построения правильной стратегии использования времени, мы должны выставить правильное время на контроллере домена, являющемся PDC эмулятором, для этого выполняем на нем команду net time /setsntp:»time.nist.gov» и перезапустить сервис времени net stop w32time && net start w32time, после чего наш контроллер получит время с внешнего источника. Далее на каждом контроллере домена необходимо выполнить следующую последовательность команд.
net stop w32time
w32tm /unregister && w32tm /register
net start w32time
Это позволит контроллерам домена синхронизировать время с PDC Emulator’ом и иметь актуальное время на всех контроллерах. После этого каждый член домена либо через некоторое время, либо после перезапуска службы Windows Time (Перезагрузка компьютера) получит актуальное время.
Подсказка: команда w32tm /monitor умеет показывать различие между контроллером домена и клиентом.
C:\Users\me>w32tm /monitor
dc2.ad.********.ru *** PDC ***[172.16.*.*:123]:
ICMP: 1ms delay
NTP: +0.0000000s offset from dc2.ad.********.ru
RefID: ntp.********.ru [194.*.*.56]
Stratum: 3
3. И, наконец, третий случай, о котором я хотел рассказать. Случай редкий, но заставивший меня подумать. Поскольку контроллеры домена – это лучшие кандидаты на виртуализацию – в одной организации было решено перевести их в виртуальную среду. Один DC хостился на Hyper-V, второй на Virtual Server 2005. При этом оба контроллера домена имели внешний NTP сервер для синхронизации. В организации начались проблемы со временем на всех компьютерах. После некоторых тестовых процедур была выявлена следующая закономерность – 1 сервер виртуализации (Virtual Server) имеет неактуальное время в BIOS’e. Выключается свет. Серверы тоже гаснут. После появления света сервера автоматически заводятся. Один из серверов загружается с неактуальным временем, поскольку контроллеров домена не найдено, на компьютере остается системное время. Загружается виртуальный контроллер домена и при запуске службы Windows Time выполняет синхронизацию времени с внешним источником, Virtual Machine Additions сразу же выполняют принудительную синхронизацию времени с хостовой машиной (время на DC становится неверным, хотя он успешно выполнил синхронизацию с внешним источником). То же происходит со вторым контроллером домена, и мы получаем картину, когда оба DC синхронизируются с одним внешним сервером времени, при этом фактически имеют разное время и, как следствие, ошибки Kerberos. Проблема разрешилась довольно простым способом – выключением функции синхронизации времени виртуальной и хостовой машины как в Hyper-V, так и в Virtual Server, после чего на хостовых серверах виртуализации была выполнена команда net stop w32time && net start w32time, и время стало актуальным во всем домене.
И напоследок список открытых NTP серверов.
Проблем может быть несколько: здесь я расскажу о двух популярных и одной малоизвестной, но очень мерзкой.
1. Вы устанавливаете Vista/Server 2008 и не вводите этот компьютер в домен. В этом случае у вас будет доступна вкладка Internet Time при правом щелчке на часы в трее и выборе Adjust Time/Date или выборе Date and Time из панели управления.
по умолчанию там указан сервер времени time.microsoft.com. Если вы живете по тому же распорядку дня, что и миллионы других жителей вашего часового пояса, то часто может возникать ошибка «An error occurred while Windows was synchronizing with time.windows.com. This operation returned because the timeout period expired.» Предположительно недоступность сервера может быть вызвана, например, чрезмерным количеством обращений к этому серверу и может быть исправлено указанием другого сервера или другого интервала проверки времени. Для изменения сервера времени необходимо изменить его имя в закладке internet time
или выполнить команду net time /setsntp:»time.nist.gov». После чего надо перезапустить службу времени net stop w32time && net start w32time. Также необходимо убедиться, что служба запускается автоматически – это можно проверить консолью Services (Control Panel – Administrative Tools – Services)
Часто бывает так, что после выключения компьютера время сбивается (почти наверняка вызвано «умершей» батарейкой на материнской плате). Для того, чтобы изменить частоту синхронизации времени нам придется править реестр. Для этого открываем regedit и переходим по следующему пути: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w32time\TimeProviders\NtpClient
дважды щелкаем на ключ SpecialPollInterval
в значении содержиться число секунд в шестнадцатиричной системе через которое обновляется время с NTP сервера, если перевести в 10ную систему получиться 3600 секунд, то есть 1 час. Если это значение необходимо изменить, то можно в 10ной системе ввести необходимый интервал; рекомендуется ставить интервал не чаще 4 часов, иначе NTP серверы могут вас заблокировать. Важное замечание: если вы используете сторонние firewall-продукты, необходимо проверить, разрешен ли 123 порт для синхронизации времени.2. Если компьютер присоединен в домен, то в Vista/Server 2008 вкладка Internet time будет отсутствовать
это происходит потому, что по умолчанию члены домена получают время с контроллера домена, который их авторизовал, а сами контроллеры домена с PDC Emulator’a, поэтому для построения правильной стратегии использования времени, мы должны выставить правильное время на контроллере домена, являющемся PDC эмулятором, для этого выполняем на нем команду net time /setsntp:»time.nist.gov» и перезапустить сервис времени net stop w32time && net start w32time, после чего наш контроллер получит время с внешнего источника. Далее на каждом контроллере домена необходимо выполнить следующую последовательность команд.net stop w32time
w32tm /unregister && w32tm /register
net start w32time
Это позволит контроллерам домена синхронизировать время с PDC Emulator’ом и иметь актуальное время на всех контроллерах. После этого каждый член домена либо через некоторое время, либо после перезапуска службы Windows Time (Перезагрузка компьютера) получит актуальное время.
Подсказка: команда w32tm /monitor умеет показывать различие между контроллером домена и клиентом.
C:\Users\me>w32tm /monitor
dc2.ad.********.ru *** PDC ***[172.16.*.*:123]:
ICMP: 1ms delay
NTP: +0.0000000s offset from dc2.ad.********.ru
RefID: ntp.********.ru [194.*.*.56]
Stratum: 3
3. И, наконец, третий случай, о котором я хотел рассказать. Случай редкий, но заставивший меня подумать. Поскольку контроллеры домена – это лучшие кандидаты на виртуализацию – в одной организации было решено перевести их в виртуальную среду. Один DC хостился на Hyper-V, второй на Virtual Server 2005. При этом оба контроллера домена имели внешний NTP сервер для синхронизации. В организации начались проблемы со временем на всех компьютерах. После некоторых тестовых процедур была выявлена следующая закономерность – 1 сервер виртуализации (Virtual Server) имеет неактуальное время в BIOS’e. Выключается свет. Серверы тоже гаснут. После появления света сервера автоматически заводятся. Один из серверов загружается с неактуальным временем, поскольку контроллеров домена не найдено, на компьютере остается системное время. Загружается виртуальный контроллер домена и при запуске службы Windows Time выполняет синхронизацию времени с внешним источником, Virtual Machine Additions сразу же выполняют принудительную синхронизацию времени с хостовой машиной (время на DC становится неверным, хотя он успешно выполнил синхронизацию с внешним источником). То же происходит со вторым контроллером домена, и мы получаем картину, когда оба DC синхронизируются с одним внешним сервером времени, при этом фактически имеют разное время и, как следствие, ошибки Kerberos. Проблема разрешилась довольно простым способом – выключением функции синхронизации времени виртуальной и хостовой машины как в Hyper-V, так и в Virtual Server, после чего на хостовых серверах виртуализации была выполнена команда net stop w32time && net start w32time, и время стало актуальным во всем домене.
И напоследок список открытых NTP серверов.
UPD: Мой друг и коллега Артем Синицын написал замечательный пост на тему синхронизации времени в домене Active Directory. Очень рекомендую к прочтению!
Синхронизация времени в домене Active Directory | Artyom Sinitsyn Blog says:
[...] Ефремов опубликовал статью, подробно описывающую механизм синхронизации времени [...]
22 Январь 2009, 1:54 дпТина says:
Познакомилась с Вашим сайтом. А сейчас отправлюсь на пост Артема Синицина
28 Февраль 2009, 6:04 ппMaxim Efremov says:
Welcome!
1 Март 2009, 4:33 ппBezugloff says:
Спасибо, наконец-то разобрался как в домене время все синхронизировать.
4 Июнь 2009, 2:29 ппМаксим says:
Спасибо, разобрался. Только у меня почти всегда пишет: «Ошибка при выполнении синхронизации с (адрес сервера)». И так на всех серверах
5 Июнь 2009, 3:19 ппtime-b.nist.gov
time-a.nist.gov
time-nw.nist.gov
time.nist.gov
time.windows.com
ntp.colocall.net
Время у меня каждый день сбивается, а батарейка нигде не продается, уже в трех магазинах спрашивал.
Как настроить, чтобы время синхронизировалось при каждом подключении к интернету?
Maxim Efremov says:
А какого типа используется подключение к интернет и какая у Вас ОС?
5 Июнь 2009, 3:30 ппТим says:
Здравствуйте!
У меня Vista Basic(sp1), ноутбук новый HP PRO Book. У меня проблема с синхронизацией времени, пробовал ВСЕ популярные сервера, отключал и включал сервис времени – НИЧЕГО не помогает. Есть какие либо предположения, что можно сделать?
24 Июль 2009, 1:41 дпMaxim Efremov says:
Прежде всего нужно посмотреть логи. Возможно причина описана там. Во вторых, если вы сами не являетесь администратором сети, то можно уточнить у администратора разрешена ли такая схема обновления времени.
13 Август 2009, 11:20 дпNemocus says:
Спасибо. Прочитал с интересом. Блог в избранное занес=)
21 Октябрь 2009, 12:59 ппСлужба синхронизации времени « Oh, MSBRO ! says:
[...] Ефремов опубликовал статью, подробно описывающую механизм синхронизации времени [...]
28 Октябрь 2009, 6:42 ппJonik says:
pool.ntp.org – самый правильный сервер синхронизации времени
3 Ноябрь 2009, 9:41 ппFanta says:
НАстроил сначала как в статье. В логах:
Ntp-клиенту не удалось задать настроенный вручную узел как источник времени из-за ошибки разрешения имен DNS на «time.nits.gov». Ntp-клиент повторит попытку через 15 минут, а затем удвоит интервал между попытками. Ошибка: Этот хост неизвестен. (0x80072AF9)
хотя пинги и nslookup все показывают и резолвлят!
Потом поменял time.nits.gov на time.windows.com и увидел в логах:
NTP-клиент поставщика времени: правильный ответ от контроллера домена time.windows.com не был получен после 8 попыток обращения. Этот узел не будет использоваться в качестве источника времени, а NTP-клиент попытается найти новый узел с этим DNS-именем. Ошибка: Этот узел недоступен.
и опять пинги и nslookup все показывают и резолвлят.
ОС = Вин2008 х64 СП2 (PDC)
Что я делаю не так?
26 Январь 2010, 4:55 ппfallen says:
Fanta, если пинги идут и nslookup все резолвит, значит проблема скорее всего в том, что у тебя на firewall’е закрыт NTP порт (123). Создай разрешающее правило и перезапусти службу w32time..
29 Январь 2010, 2:00 дпProrok says:
Надо настроить на «time.nist.gov», а не «time.nits.gov»
5 Март 2010, 7:38 ппAndrey says:
Максим а что имеется в виду «проблема разрешилась довольно простым способом – выключением функции синхронизации времени виртуальной и хостовой машины» , что ето за функция? Как она называется в системе ? И как ее отключить ?
Спасибо за полезный пост.
23 Апрель 2010, 10:38 дпAndrey says:
Все, нашел где отключается:) Спасибо.
23 Апрель 2010, 10:49 дпAndrew says:
Спасибо, помогло W2k8
7 Июль 2010, 10:02 дп