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

Обновлено: 21.11.2024

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

Если вы любите жизнь, не тратьте время попусту, потому что время — это то, из чего состоит жизнь. – Брюс Ли

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

Посмотрите, какое время считает домен:

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

Посмотрите, сколько времени говорит каждый компьютер:

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

Узнайте, откуда компьютер берет свое время:

После выполнения приведенной выше команды он вернул IP-адрес, который ничего для меня не значил. Он брал свое время с какого-то другого сервера, и это было источником проблемы.

Вы можете запросить у Windows конфигурацию времени Windows. Это не очень информативно, если все работает правильно, но дает вам возможность сравнить с работающим компьютером.

См. конфигурацию времени Windows:

Следующие команды не принесут много пользы, если компьютер будет получать данные из неправильного источника, но они будут полезны, как только мы сможем обновить источник.

Попросите Windows Time обновить свою конфигурацию:

Повторная синхронизация времени Windows с источником:

Проверьте каждый DC, чтобы увидеть, насколько они отличаются:

Будущее всегда в движении. – ЙОДА, Звездные войны. Эпизод V: Империя наносит ответный удар

К другим областям, которые нужно проверить на наличие проблем со временем Windows, относятся службы, журнал событий, брандмауэр и реестр.

Убедитесь, что служба времени Windows запущена и установлена ​​в автоматический режим. Вы можете перезапустить службу времени Windows из командной строки с помощью:

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

Брандмауэр Windows должен разрешить трафик UDP через порт 123 для работы NTP.

Реестр имеет два важных места, когда речь идет о времени Windows.

Источники времени

Источник синхронизации

Следующий путь в реестре — это место, где я нашел источник обнаруженных проблем. Для записи типа было установлено значение «AllSync» вместо значения по умолчанию для компьютеров домена NT5DS.

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

Без синхронизации. Служба времени не синхронизируется с другими источниками.

NTP. Служба времени синхронизируется с серверами, указанными в записи реестра NtpServer.

NT5DS. Служба времени синхронизируется из иерархии доменов.

AllSync. Служба времени использует все доступные механизмы синхронизации.

После того, как я изменил его с AllSync на NT5DS, я выполнил команду w32tm /config /update и команду w32tm /query /source, чтобы убедиться, что его источником теперь является контроллер домена. Затем я запустил w32tm /resync и наблюдал, как со временем он возвращается в соответствие с другими компьютерами.

Для правильной работы в домене время компьютера Windows должно быть синхронизировано с доменом. Это в первую очередь важно для работы аутентификации Kerberos. Windows постоянно синхронизирует время с серверами NTP. На компьютерах, присоединенных к домену Active Directory, контроллеры домена действуют как серверы NTP.

Служба времени Windows (W32Time) отвечает за синхронизацию времени. Прежде всего, убедитесь, что эта служба запущена:

Вы можете проверить, с каким NTP-сервером (источником NTP) ваш компьютер в настоящее время синхронизирует время, используя команду:

Дополнительная информация о состоянии синхронизации времени на клиентском устройстве:

В домене AD вы можете перечислить контроллеры домена, с которыми можно выполнять синхронизацию времени:

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

Параметры службы времени Windows хранятся в разделе реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters. Режим синхронизации задается с помощью параметра Type. Если вы измените значение Типа на NoSync, вы полностью отключите синхронизацию времени в Windows.

На всех компьютерах, присоединенных к домену Active Directory, в качестве источника времени по умолчанию используется ближайший контроллер домена. В этом случае параметр Type должен быть установлен на NT5DS. Если здесь указан NTP, то ваш компьютер синхронизирует время с внешним источником времени (возможно, в Интернете). В этом случае источник времени для вашего компьютера (NTP-сервер) будет указан в параметре реестра NtpServer.

Чтобы включить автоматическую синхронизацию времени клиента Windows с контроллером домена, необходимо установить для параметра Type значение NT5DS.

Если используется тип синхронизации времени NT5DS, источник времени, указанный в параметре NtpServer, игнорируется, и Windows синхронизирует время с ближайшим контроллером домена (в соответствии с сайтами Active Directory).

Этот параметр можно изменить вручную с помощью редактора реестра (regedit.exe) или PowerShell:

Перезапустите службу Windows Times:

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

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

На снимке экрана ниже показано, что Windows теперь синхронизируется с DC (Source).

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

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

Я думал, что время синхронизации с контроллером домена, к которому подключен клиент, установлено по умолчанию.

Если нет, как я могу настроить объект групповой политики, чтобы принудительно использовать это для всех наших клиентов Windows 10?

Участвуйте, чтобы выиграть еженедельные подарочные карты (от 100 евро), Oculus и наушники/колонки

Конкурс завершается 27 марта 2022 г. Конкурсы Каждую неделю узнайте больше о том, как Red Hat может помочь вам добиться простоты и цифровых инноваций, и ответьте на вопрос. Детали конкурса Просмотреть все конкурсы

14 ответов

один разум

Они не синхронизируются, если работают в режиме кэширования. Я подозреваю, что эти ноутбуки на самом деле не связываются с контроллером домена в течение длительного периода времени. Когда вы входите в один из этих ноутбуков и нажимаете СТАРТ | RUN и введите %logonserver%, это подтянет Netlogon для вашего контроллера домена?

Он не находится в режиме кэширования. Я выполнил команду set и увидел сервер входа в систему. Затем я проверил сервер входа в систему, чтобы убедиться, что на нем указано правильное время, и это действительно так.

  • отметить 120 лучших ответов
  • thumb_up — 331 полезный голос

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

Я ищу, как сбросить его, чтобы он работал по умолчанию, когда он получает свое время от любого контроллера домена, с которым он контактирует.

Каков результат? -> w32tm /запрос/источник

Если у вас нет контроллера домена в домене, скорее всего, служба времени не настроена на синхронизацию с иерархией домена.

Запустите w32tm /query /configuration и посмотрите, какой тип указан в [TimeProviders]. Если не NT5DS, вы не синхронизируетесь с доменом. Настройте службу времени (при условии, что авторитетный сервер времени для домена даже установлен), используя w32tm /config. Запустить w32tm /? чтобы увидеть все варианты.

mwitkosky написал:

Каков результат запуска? -> w32tm /query /source

Если у вас нет контроллера домена в домене, скорее всего, служба времени не настроена на синхронизацию с иерархией домена.

Запустите w32tm /query /configuration и посмотрите, какой тип находится в разделе [TimeProviders]. Если не NT5DS, вы не синхронизируетесь с доменом. Настройте службу времени (при условии, что авторитетный сервер времени для домена даже установлен), используя w32tm /config. Запустить w32tm /? чтобы увидеть все варианты.

Мартин

Они синхронизируются с локальными часами CMOS.

Разве система, присоединенная к домену, не должна автоматически синхронизироваться с тем же контроллером домена, к которому она подключена, без необходимости что-либо настраивать?

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

Какая команда синхронизирует рабочую станцию ​​или сервер Windows с настроенным источником времени?

Для этого я создал запись об ошибке. Windows не синхронизируется с сервером времени при запуске или выходит из спящего режима или режима гибернации. URI Windows: Feedback-hub:?contextid=58&feedbackid=f15278d4-b20d-4a9a-9693-cdf8fbaaa669&form=1&src=1

12 ответов 12

Как сказал Кайл, w32tm /resync — это современный способ сделать это. Дополнительные сведения о команде w32tm см. в этой ссылке на базу знаний Майкрософт (KB 307897).

Есть также чистое время, которое является более старой версией, но, возможно, проще.

w32tm /resync пишет: "Компьютер не выполнил повторную синхронизацию, так как требуемое изменение времени было слишком большим". поскольку моя батарея CMOS разряжена, а часы моего компьютера сбрасываются при каждой загрузке в 01.01.2000, 00:00. Любая помощь?

@LightnessRacesinOrbit и другие, если вы получаете сообщение об ошибке «изменение времени было слишком большим», используйте w32tm /resync /force . Но если у вас не запущена служба, запустите net start w32time . Оба из приглашения с повышенными правами.

Чтобы решить, что «изменение времени было слишком большим», измените записи реестра MaxNegPhaseCorrection и MaxPosPhaseCorrection в HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config на максимум (ffffffff)

@NeverQuit / @-StijnSanders / @-JaredThirsk - Вот архив статьи о брутфорсе: Служба времени Windows не синхронизируется, даже после проверки всех настроек | Впечатления от BFTech. И есть эта статья, на которую есть ссылка в статье о брутфорсе: Заставьте Windows чаще синхронизировать время.

Для тех, кто все еще задает этот вопрос.

Для обновления используйте приведенную ниже команду (совместима с серверами 2008 и 2012)

измените ntp_server на свой источник

Перезапустить службу времени

Повторно синхронизируйте время

Проверьте статус синхронизации

Приведенные выше команды должны работать, если ваши источники работают правильно и/или с подключением все в порядке (проблемой также может быть брандмауэр или Microsoft Forefront). Приведенные ниже команды могут помочь в устранении неполадок

Чтобы получить список аналогов

Чтобы перечислить источники NTP:

Вы можете использовать следующую команду:

Попросит вас установить время для DC. (Работает для более старых версий Windows)

По какой-то причине w32tm /resync у меня не работал, а net time /SET /Y работал. Я использовал /Y для чистого времени, потому что он, по-видимому, неправильно читает стандартный ввод при переходе через sshd из cygwin.

При запуске w32tm /resync я получил сообщение Компьютер не выполнил повторную синхронизацию, так как данные о времени недоступны. даже после перезапуска службы, но чистое время /SET у меня работало правильно.

ОС: MS Windows 7

Все вышеуказанные идеи были опробованы, но не помогли. Исходная проблема осталась: "Компьютер не выполнил повторную синхронизацию, так как требуемое изменение времени было слишком большим"

Решение найдено в реестре: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\w32time\Config

  • измените это, если местное время торопится (например, 31 декабря 2050 г.): MaxNegPhaseCorrection
  • измените это, если местное время задерживается (например, 1 января 1980 г.): MaxPosPhaseCorrection
  • Значения по умолчанию: 0xD2F0 (т. е. 54 000 сек. = 15 часов)

(используйте Google для получения дополнительной информации)

Я использую этот простой файл win_clock_sync.bat из меню "Пуск" StartUp:

В вашем ответе может использоваться объяснение функции значений MaxNegPhaseCorrection и MaxPosPhaseCorrection вместо того, чтобы предлагать их отключить вслепую. Это то, что делает этот скрипт, устанавливая их данные в 0xFFFFFFFF.

Нельзя игнорировать упомянутое сообщение об ошибке "Компьютер не выполнил повторную синхронизацию, так как требуемое изменение времени было слишком большим". без изменения данных в значениях MaxNegPhaseCorrection и MaxPosPhaseCorrection. Или ВЫ нашли какое-нибудь рабочее решение исходной проблемы?? А почему ты пишешь "вслепую"? Если вы потратите немного времени на чтение, то сможете увидеть экспорт и импорт исходных данных этих значений, что немного далеко от того, чтобы делать что-то «вслепую».

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

У Twisty есть важные замечания, которые на самом деле не касаются проблемы, поднятой NeverQuit. но тогда Акос четко не объяснил, почему сценарий является подходящим решением для NeverQuit. По сути, значения реестра MaxNegPhaseCorrection и MaxPosPhaseCorrection существуют для того, чтобы служба W32Time не применяла радикальные изменения к текущему времени [в таких обстоятельствах, как неправильный внешний источник времени]. надежный источник времени, тогда средства коррекции не позволят w32tm исправить большой дрейф. В этой ситуации. б

Отзыв @Akos Downvote отозван на основании того, что вы указали, что ваш сценарий действительно отменяет изменения значений MaxNegPhaseCorrection и MaxPosPhaseCorrection. Я по-прежнему рекомендую включить объяснение того, что делают эти два параметра, поскольку они являются ключевой особенностью вашего ответа, и важно, чтобы администратор знал, что, если он установит эти параметры на постоянное место, он настроит свою систему, чтобы принять любое изменение времени, независимо от размера, что может нарушить работу Kerberos и других важных сетевых служб.

Читайте также: