Windows 2000 синхронизация времени

Обновлено: 05.07.2024

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

Для синхронизации времени в Windows можно использовать встроенную системную службу, которая называется "Служба времени Windows" (Windows Time Service).

Указание сервера времени для синхронизации

В первую очередь нужно сконфигурировать эту службу. В ее настройках необходимо указать NTP-сервер (NTP - Network Time Protocol) или список серверов времени, по которым будет выполняться синхронизация. Сдеать это можно из командной консоли (cmd.exe) следующей командой:

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

При указании списка из нескольких серверов синхронизация будет выполняться по первому серверу в списке; если этот сервер окажется недоступным, то по второму и т.д.

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

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

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

Службу времени можно запустить вручную, например, командой из командной консоли:

Или запустить ее через оснастку управления службами (Win+R --> services.msc). Лучше также через оснастку управления службами настроить автоматический запуск этой службы (Тип запуска: Авто). Это нужно, чтобы не приходилось всякий раз запускать службу времени вручную, т.е. чтобы при каждой загрузке системы эта служба автоматически стартовала и была всегда запущена для регулярной синхронизации времени.

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

Часы и календарь для персональных компьютеров всегда были камнем преткновения. В эпоху ранних версий DOS время и дату приходилось вводить каждый раз при запуске системы. Так было до тех пор, пока на ПК не начали использовать батарейки питания для часов и календаря. Материнские платы со встроенными часами и календарем были запущены в производство в 1984 г.

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

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

Windows 2000 упрощает процесс синхронизации времени в NT с помощью новой встроенной службы Windows Time Service. Эта системная служба почти не требует администрирования. Компьютеры, на которых установлена система Windows 2000 Professional, и серверы с любой версией Windows 2000 Server сверяют свое системное время и дату со временем и датой контроллера домена (DC), обеспечивающего аутентификацию данной рабочей станции или автономного сервера. Но компьютер или сервер синхронизирует свое время со временем DC не только в процессе аутентификации: синхронизация времени производится приблизительно каждые 8 ч или каждый раз при регистрации пользователя.

Со своей стороны, контроллеры домена синхронизируют свое время с одним конкретным контроллером в домене - мастером операций, который играет роль эмулятора PDC. По умолчанию, эмулятором PDC становится первый контроллер, устанавливаемый в домене. Но с чем каждый PDC-эмулятор домена синхронизирует свое время? С эмулятором PDC первого домена, который был создан (т. е. с тем DC, который используется в качестве эмулятора в корневом домене леса). Таким образом этот компьютер в корне леса играет роль главных часов и календаря для целого леса Active Direc-tory (AD). Кроме того, основной хронометрист различает временные зоны.

Теперь поясню, как установить синхронизацию основного компьютера времени, т. е. корневого PDC-эмулятора леса, с реальным временем. Для этого следует ввести команду

Параметр /setsntp команды Net Time показывает, что используется Simple Network Time Protocol (SNTP), стандартный протокол Internet. Internet Engineering Task Force (IETF) Request for Comments (RFC-2030), датированный октябрем 1996 г., определяет SNTP. Можно указать любой сервер времени SNTP в Internet для корневого PDC-эмулятора леса и заставить его синхронизировать свое время с временем этого сервера. Многие брандмауэры включают сервер времени, так что для конкретного контроллера - эмулятора PDC - нет нужды обращаться куда-либо из своей внутренней сети для синхронизации с SNTP-сервером. Но если брандмауэр требуется настраивать, то нужно иметь в виду, что SNTP использует 123-й порт UDP.

В поисках времени

для синхронизации мастера операций с DNS-сервером.

Если требуется использовать внешний источник времени, то нужно сначала удостовериться, что подобный сервер времени существует. В документации Microsoft сообщается, что достаточно ввести только Net Time для определения времени на SNTP-сервере, но этот способ мне не подходит. Убедиться, что Windows Time Service действительно работает, можно с помощью средства командной строки W32tm. Но для начала наберите команду

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

чтобы установить время от источника времени однократно (по умолчанию W32tm обновляет время периодически). Система выдает страницу запутанной информации; в случае успешного выполнения команды в одной из строк появится Recv`ed from server 48 Bytes. Далее необходимо набрать

чтобы снова запустить службу времени.

После первоначальной синхронизации с сервером времени компьютер снова сверяет с ним свое время через 45 мин. Если выясняется, что разница между показаниями часов сервера времени и системных часов компьютера не превышает 2 с, интервал ожидания следующей сверки с сервером времени удваивается. Если через полтора часа разница во времени остается в пределах 2 с, компьютер продолжает удваивать интервал синхронизации и проверять точность времени и, наконец, останавливается на интервале приблизительно 8 ч.

Если неизвестно, с каким SNTP-сервером синхронизируется система, в командной строке следует ввести:

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

Windows Time Service особенно пригодиться тем, кто использует Windows 2000, но еще не перешел к AD. Как я уже сказал, можно дать корневому PDC-эмулятору леса команду сверять свои часы с SNTP-сервером, но можно также использовать команду Net Time /setsntp, чтобы любой компьютер синхронизировал время с SNTP-источником. Если задать команду Set Time на компьютере, который не является членом домена Windows 2000, может обнаружиться, что Windows Time Service не устанавливает на нем время. Мой опыт показывает, что Windows Time Service для систем, не являющихся членами домена, запускается вручную. Поэтому если есть «одинокий» компьютер и нужно автоматически синхронизировать его системное время и дату с SNTP-источником, следует установить службу Win-dows Time Service в режим автоматического запуска.

Хранение времени на клиенте NT

Можно внести изменение в реестр, чтобы превратить системы Windows 2000 в SNTP-сервер. В HKEY_LOCAL_MACHINESYSTEM CurrentControlSetServicesW32 TimePara-meters найдите параметр LocalNTP типа REG_DWORD. Измените его значение с 0 на 1. После перезагрузки Windows Time Service, данный ком-пьютер с системой Windows 2000 будет функционировать как SNTP-сервер.

Таким образом, если в организации совместно используются Windows 2000, NT и Windows 9x, то можно установить одну систему Windows 2000 для синхронизации времени с Internet и для обслуживания оставшейся части машин рабочей группы. Затем следует установить программное обеспечение клиента SNTP на всех других машинах и определить систему с Windows 2000 как SNTP-сервер. Тогда все машины смогут синхронизировать время даже без использования AD.

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

По умолчанию служба времени в 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.

включение сервера NTP

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

перезапуск службы времени в Windows

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

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

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

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

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

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

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

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

настройка синхронизации NTP сервера

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

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

настройка представления NTP сервера

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

настройка интервала синхронизации NTP сервера

После настройки необходимо обновить конфигурацию сервиса. Сделать это можно командой 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 сравнений с указанным источником и выведет результат в текстовом виде.

Серер синхронизации времени в Windows
Возникла необходимость синхронизации времени на компьютерах в локальной сети на стандартном 123 UDP порту?
Или как я настраивал сервер NTP в локальной сети на Windows хосте.

Ситуация следующая: в одноранговой локальной сети есть одна Windows машина которая ходит в нтернет и синхронизирует время, например с time.nist.gov.
Рабочие станции этой сети не ходят в Интернет, или им запрещено синхронизироваться, или вы не хотите дополнительный трафик по UDP 123 порту наружу, или есть проблемы синхронизации времени с популярных интернет ntp cерверов. C помощью этой статьи вы настроите синхронизацию времени в среде Windows и настроите NTP сервер на обычной Windows машине.

Сервер синхронизации времени ntp может работать на Windows 2000, Windows XP Prof, Windows 7, Windows Server 2003/2008 .


Итак, приступаем к настойке локального Windows сервера синхронизации времени (NTP server на 123 UDP порту).

Начнем с ОС Windows XP Prof (Windows XP Home - то же самое).

Открываем реестр - Пуск -> выполнить -> regedit
идем в ветку:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControl\Set\Services\W32Time\Config

присваеваем параметру AnnounceFlags значение 5. Тем самым мы обьявим наш будущий NTP сервер, достоверным и компьютеры при синхронизации с ним не будут ругаться.
Далее Пуск -> выполнить -> mmc и добавляем оснастку «Редактор обьекта групповой полтики». Обьектом группвой политики выступит Локальный компьютер.

Идем по разделам Конфигурация компьютера -> Администрантивные шаблоны -> Система -> Служба времени Windows -> Поставщики времени. Там находим «Включить Windows NTP-сервер» и в свойствах выбираем позицию «включить». В заключении проходим в Службы, ищем «Служба времени Windows» и перезапускаем этот сервис. Если он не включен, то включаем его и ставим тип запуска «Авто».

Кроме этого на раздающем сервере необходимо изменить интервал через который он сам будет ходить в инет за временем.
Открываем реестр - Пуск -> выполнить -> regedit
идем в ветку:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\
NtpClient\SpecialPollInterval

По умолчанию интервал между обновлениями времени в Windows – 1 неделя (604800 сек). При низкой точности системных часов компьютера это слишком большой интервал. При такой настройке за 1 неделю часы Вашего компьютера могут получить погрешность величиной порядка минуты или даже нескольких минут. Рекомендую уменьшить интервал обновления до нескольких часов. Это изменение не увеличит ни трафика, ни нагрузки на NTP-сервер, при этом позволит поддерживать более высокую точность хода часов Вашего компьютера.

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

w32tm /config /update

И при необходимости выполнить немедленную синхронизацию

w32tm /resync

На этом настройка сервера закончена.

На клиентских компьютерах следуем в «Панель управления», выбираем «дата и время» и в закладке «Время интернета» меняем строку сервер на IP (или имя) вашего локального сервера.
Вот и все.

Можно раскидать батник на рабочие станции :
w32tm /config /manualpeerlist:IP_адрес_сервера,0x1 /syncfromflags:MANUAL
net stop w32time
net start w32time
w32tm /resync

И запускаем его на клиентских машинах с правами Администратора.

Для WINDOWS 2000

Теперь поясню, как установить синхронизацию основного компьютера времени, т. е. корневого PDC-эмулятора леса, с реальным временем. Для этого следует Пуск -> выполнить -> ввести команду:

net time /setsntp:

Параметр /setsntp команды Net Time показывает, что используется Simple Network Time Protocol (SNTP), стандартный протокол Internet. Internet Engineering Task Force (IETF) Request for Comments (RFC-2030), датированный октябрем 1996 г., определяет SNTP. Можно указать любой сервер времени SNTP в Internet для корневого PDC-эмулятора леса и заставить его синхронизировать свое время с временем этого сервера. Многие брандмауэры включают сервер времени, так что для конкретного контроллера - эмулятора PDC - нет нужды обращаться куда-либо из своей внутренней сети для синхронизации с SNTP-сервером. Но если брандмауэр требуется настраивать, то нужно иметь в виду, что SNTP использует 123-й порт UDP.

Остановит сервер времени Windows Time Service:

net stop w32time

Затем можно проверить время источника, для чего следует ввести:

w32tm -once

чтобы установить время от источника времени однократно (по умолчанию W32tm обновляет время периодически). Система выдает страницу запутанной информации; в случае успешного выполнения команды в одной из строк появится Recv`ed from server 48 Bytes. Далее необходимо набрать:

net start w32time

чтобы снова запустить службу времени.

После первоначальной синхронизации с сервером времени компьютер снова сверяет с ним свое время через 45 мин. Если выясняется, что разница между показаниями часов сервера времени и системных часов компьютера не превышает 2 с, интервал ожидания следующей сверки с сервером времени удваивается. Если через полтора часа разница во времени остается в пределах 2 с, компьютер продолжает удваивать интервал синхронизации и проверять точность времени и, наконец, останавливается на интервале приблизительно 8 ч.

Если неизвестно, с каким SNTP-сервером синхронизируется система, в командной строке следует ввести:

net time /querysntp

Пишите если у кого не получилось, я запустил на 20-30 машинах в локалке и забыл о проблемах с разным временем в отчетах, логах, видео архивах и прочее. Главное не забывать когда заводите в сети новую машину проделать с ней эту процедуру.

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