Как проверить работу ntp сервера windows

Как я могу проверить текущую конфигурацию NTP системы?

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

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

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

В частности, мне нужно следующее:

  • Показать, настроена ли система на получение времени от NTP-сервера.
  • Показать серверы NTP, с которых система получает время.
  • Показать время последней синхронизации.
  • Показать текущее время в системе.

Какая команда (команды) была бы необходима для достижения этих результатов?

Ищите решение, совместимое с Windows XP, 7, Server 2003 и Server 2008.

6 ответов 6

В командной строке введите

w32tm /query /configuration дает вам конфигурацию, которую вы настроили.

w32tm /query /status предоставляет такую информацию, как:

  • слой
  • индикатор скачка
  • точность
  • последняя синхронизация
  • NTP сервер
  • интервал опроса

time /T выводит текущее системное время.

Примечание: w32tm /query впервые был доступен в клиентских версиях Windows Time для Windows Vista и Windows Server 2008. См. Инструменты и настройки службы времени Windows.

Это отвечает на ваш последний вопрос:

Откройте командную строку и введите точно:

w32tm /stripchart /computer:NTPServerNameOrIP /dataonly /samples:x (сколько результатов вы хотите)

Возвращает время и разницу времени NTP-сервера. Если возвращается время, ошибка: 0x80072746, то это не ваш NTP-сервер.

Пример команды приведен ниже:

В другой машине я получил:

Тогда я попробовал:

Тогда я попробовал:

В другой машине я получил страницу помощи, на которой также сказано:

Так что, в основном, сервис не работал. Следуя этим инструкциям, я сделал:

Наконец, все вышеперечисленное будет работать. (примечание: если net start завершится неудачно, см. ниже) Тогда мне просто нужно было настроить мой ntp . Я сделал это с:

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

как указано здесь. (10.0.0.5 — мой локальный NTP-сервер). Если вы не используете локальный NTP-сервер, вы можете использовать общий:

Наконец, вам может потребоваться сделать следующее, что мне не нужно:

Примечание: если net start w32time с ошибкой 1290 (Начало службы не удалось , так как один или несколько услуг в том же процессе имеют службы установки несовместимого типа SID) , а затем выполните шаги здесь:

Затем следуйте, как указано выше.

ПРИМЕЧАНИЕ 2: если служба NTP не запускается автоматически при перезагрузке, это может быть связано с ее настройками запуска, как описано здесь: в зависимости от ваших окон она может быть настроена на запуск только при присоединении к домену. Вы можете проверить с помощью:

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

Настройка NTP сервера в Windows

Начиная с Windows 2000 все операционные системы Windows включают в себя службу времени W32Time. Эта служба предназначена для синхронизации времени в пределах организации. W32Time отвечает за работу как клиентской, так и серверной части службы времени, причем один и тот же компьютер может быть одновременно и клиентом и сервером NTP (Network Time Protocol).

Читайте также:  Как скинуть активацию windows

По умолчанию служба времени в Windows сконфигурирована следующим образом:

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

Такая схема работает в большинстве случаев и не требует вмешательства. Однако структура сервиса времени в Windows может и не следовать доменной иерархии, и надежным источником времени можно назначить любой компьютер. В качестве примера я опишу настройку NTP-сервера в Windows Server 2008 R2, хотя со времен Windows 2000 процедура не особо изменилась.

Запуск NTP сервера

Сразу отмечу, что служба времени в Windows Server (начиная с 2000 и заканчивая 2012) не имеет графического интерфейса и настраивается либо из командной строки, либо путем прямой правки системного реестра. Лично мне ближе второй способ, поэтому идем в реестр.

Итак, первым делом нам надо запустить сервер NTP. Открываем ветку реестра
HKLM\System\CurrentControlSet\services\W32Time\TimeProviders\NtpServer.
Здесь для включения сервера NTP параметру Enabled надо установить значение 1.

Затем перезапускаем службу времени командой net stop w32time && net start w32time

После перезапуска службы NTP сервер уже активен и может обслуживать клиентов. Убедиться в этом можно с помощью команды w32tm /query /configuration. Эта команда выводит полный список параметров службы. Если раздел NtpServer содержит строку Enabled :1 , то все в порядке, сервер времени работает.

Для того, чтобы NTP-сервер мог обслуживать клиентов, не забудьте на файерволле открыть UDP порт 123 для входящего и исходящего траффика.

Основные настройки NTP сервера

NTP сервер включили, теперь надо его настроить. Открываем ветку реестра HKLM\System\CurrentControlSet\services\W32Time\Parameters. Здесь в первую очередь нас интересует параметр Type, который задает тип синхронизации. Он может принимать следующие значения:

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

Значение по умолчанию для компьютера, входящего в домен — NT5DS, для отдельно стоящего компьютера — NTP.

И параметр NtpServer, в котором указываются NTP-сервера, с которыми будет синхронизировать время данный сервер. По умолчанию в этом параметре прописан NTP-сервер Microsoft (time.windows.com, 0x1), при необходимости можно добавить еще несколько NTP-серверов, введя их DNS имена или IP адреса через пробел. Список доступных серверов времени можно посмотреть например здесь.

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

0x1 – SpecialInterval, использование специального интервала опроса ;
0x2 – режим UseAsFallbackOnly;
0x4 – SymmetricActive, симметричный активный режим;
0x8 – Client, отправка запроса в клиентском режиме.

При использовании флага SpecialInterval, необходимо установленное значение интервала в ключе SpecialPollInterval. При значении флага UseAsFallbackOnly службе времени сообщается, что данный сервер будет использоваться как резервный и перед синхронизацией с ним будут выполнятся обращения к другим серверам списка. Симметричный активный режим используется NTP-серверами по умолчанию, а клиентский режим можно задействовать в случае проблем с синхронизацией. Подробнее о режимах синхронизации можно посмотреть здесь, либо не морочиться и просто ставить везде ,0x1 (как советует Microsoft).

Читайте также:  Линукс для ноутбука обзор

Еще один важный параметр AnnounceFlags находится в разделе реестра HKLM\System\CurrentControlSet\services\W32Time\Config. Он отвечает за то, как о себе заявляет NTP-сервер и может принимать следующие значения:

0x0 (Not a time server) — сервер не объявляет себя через NetLogon, как источник времени. Он может отвечать на NTP запросы, но соседи не смогут распознать его, как источник времени;
0x1 (Always time server) — сервер будет всегда объявлять о себе вне зависимости от статуса;
0x2 (Automatic time server) — сервер будет объявлять о себе только, если он получает надежное время от другого соседа (NTP или NT5DS);
0x4 (Always reliable time server) — сервер будет всегда заявлять себя, как надежный источник времени;
0x8 (Automatic reliable time server) — контроллер домена автоматически объявляется надежным если он PDC-эмулятор корневого домена леса. Этот флаг позволяет главному PDC леса заявить о себе как об авторизованном источнике времени для всего леса даже при отсутствии связи с вышестоящими NTP-серверами. Ни один другой контроллер или рядовой сервер (имеющие по умолчанию флаг 0x2) не может заявить о себе, как надежном источнике времени, если он не может найти источник времени для себя.

Значение AnnounceFlags составляет сумму составляющих его флагов, например:

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

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

Ну и настроим интервал между обновлениями. За него отвечает уже упоминавшийся выше ключ SpecialPollInterval, находящийся в ветке реестра HKLM\System\CurrentControlSet\services\W32Time\TimeProviders\NtpClient. Он задается в секундах и по умолчанию его значение равно 604800, что составляет 1 неделю. Это очень много, поэтому стоит уменьшить значение SpecialPollInterval до разумного значения, скажем до 1 часа (3600).

После настройки необходимо обновить конфигурацию сервиса. Сделать это можно командой w32tm /config /update. И еще несколько команд для настройки, мониторинга и диагностики службы времени:

w32tm /monitor – при помощи этой опции можно узнать, насколько системное время данного компьютера отличается от времени на контроллере домена или других компьютерах. Например: w32tm /monitor /computers:time.nist.gov
w32tm /resync – при помощи этой команды можно заставить компьютер синхронизироваться с используемым им сервером времени.
w32tm /stripchart – показывает разницу во времени между текущим и удаленным компьютером, причем может выводить результат в графическом виде. Например, команда w32tm /stripchart /computer:time.nist.gov /samples:5 /dataonly произведет 5 сравнений с указанным источником и выведет результат в текстовом виде.

w32tm /config – это основная команда, используемая для конфигурирования службы NTP. С ее помощью можно задать список используемых серверов времени, тип синхронизации и многое другое. Например, переопределить значения по умолчанию и настроить синхронизацию времени с внешним источником, можно командой w32tm /config /syncfromflags:manual /manualpeerlist:time.nist.gov /update
w32tm /query — показывает текущие настройки службы. Например команда w32tm /query /source покажет текущий источник времени, а w32tm /query /configuration выведет все параметры службы.

Ну и на крайний случай 🙁
w32tm /unregister — удаляет службу времени с компьютера.
w32tm /register – регистрирует службу времени на компьютере. При этом создается заново вся ветка параметров в реестре.

Читайте также:  Подключение сетевых папок астра линукс

Как проверить текущую конфигурацию NTP системы?

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

(Я работаю над несколькими версиями ОС, а экраны конфигурации не всегда находятся в одном месте по всем версиям.)

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

В частности, мне нужно следующее:

  • Показывает, настроена ли система для получения времени от сервера NTP.
  • Показывать сервер (ы) NTP, с которого система получает время.
  • Показывает время последней синхронизации.
  • Показывать текущее время в системе.

Какие команды необходимы для достижения этих результатов?

Ищем решение, совместимое с Windows XP, 7, Server 2003 и Server 2008.

6 ответов

В командной строке введите

w32tm /query /configuration предоставляет конфигурацию, которую вы настроили.

w32tm /query /status предоставляет информацию, такую ​​как:

  • прослойка
  • индикатор прыжка
  • Точность
  • последняя синхронизация
  • Сервер NTP
  • Интервал опроса

time /T выводит текущее системное время.

Примечание: w32tm /query был впервые предоставлен в версиях Windows Vista для Windows Vista и Windows Server 2008. См. Инструменты и настройки Windows Time

Это ответ на ваш последний вопрос:

Откройте командную строку и введите точно:

w32tm /stripchart /computer:NTPServerNameOrIP /dataonly /samples:x (сколько возвращается вы хотите)

Возвращает время и разницу времени сервера NTP. Если он возвращает время, ошибка: 0x80072746, то это не ваш NTP-сервер.

Ниже приведен пример команды:

На другой машине я получил:

Затем я попытался:

Затем я попытался:

На другой машине я получил страницу справки, также сказав:

Итак, в основном служба не запускалась. Следуя этих инструкций, я сделал:

Наконец, все вышеизложенное будет работать. (обратите внимание: если net start не работает, см. ниже) Затем мне просто нужно было установить ntp вверх . Я сделал это с помощью:

следуя инструкциям из %20%D0%B7%D0%B4%D0%B5%D1%81%D1%8C%20,%20%D0%BD%D0%BE,%20%D0%B2%D0%BE%D0%B7%D0%BC%D0%BE%D0%B6%D0%BD%D0%BE,%20%D1%8D%D1%82%D0%BE%20%D0%B1%D1%8B%D0%BB%D0%BE%20%D1%82%D0%B0%D0%BA%20%D0%BF%D1%80%D0%BE%D1%81%D1%82%D0%BE:%20

%20%D0%B2%20%D1%81%D0%BE%D0%BE%D1%82%D0%B2%D0%B5%D1%82%D1%81%D1%82%D0%B2%D0%B8%D0%B8%20%D1%81%20%D0%B8%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%86%D0%B8%D1%8F%D0%BC%D0%B8%20 здесь . (10.0.0.5 — мой локальный NTP-сервер). Если вы не используете локальный NTP-сервер, вы можете использовать общий:

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

ПРИМЕЧАНИЕ: если w32tm /config /update w32tm /resync /rediscover завершится с ошибкой 1290 (запуск службы невозможен, поскольку одна или несколько служб в одном процессе имеют несовместимую службу SID), затем выполните шаги здесь :

Затем следуйте приведенным выше.

ПРИМЕЧАНИЕ 2: если служба NTP не запускается автоматически при перезагрузке, это может быть связано с ее настройками запуска, как описано здесь : в зависимости от ваших окон его можно настроить только тогда, когда он присоединяется к домену. Вы можете проверить:

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

В командной строке вы можете получить такую ​​информацию:

Кажется, этого должно быть достаточно, по крайней мере, чтобы идти в этом направлении, то есть, если бы я понял ваш вопрос. AFAIK, команда «reg» работает на всех этих разных платформах если у вас есть правильные сервисы.

Оцените статью