Компьютер с Windows 2000 может поддерживать службу времени в группе клиентов NT и Windows 9x.
Часы и календарь для персональных компьютеров всегда были камнем преткновения. В эпоху ранних версий 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-эмулятора леса, с реальным временем. Для этого следует ввести команду
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.
В поисках времени
Где найти SNTP-серверы? В Соединенных Штатах существует лаборатория военно-морского флота, которая поддерживает ряд серверов времени, включая tick.usno.navy.mil и tock.usno.navy .mil. По своему опыту могу сказать, что большинство DNS-серверов провайдеров IS также могут быть SNTP-серверами. Так, если один из DNS-серверов называется ns2.bigisp.com, можно набрать команду
net time /setsntp:ns2.bigisp.com
для синхронизации мастера операций с DNS-сервером.
В документации Microsoft по команде Net Time /setsntp сказано, что в команде можно указать и список серверов. Да, но есть одна тонкость: список нужно заключить в кавычки, а имена серверов разделить пробелами. Например, для того, чтобы сервер осуществлял поиск времени сначала на www.acme.com, а затем, в случае необходимости, на www.apex.com, нужно набрать
net time /setsntp:"www.acme.com www.apex.com"
Если требуется использовать внешний источник времени, то нужно сначала удостовериться, что подобный сервер времени существует. В документации Microsoft сообщается, что достаточно ввести только Net Time для определения времени на SNTP-сервере, но этот способ мне не подходит. Убедиться, что Windows Time Service действительно работает, можно с помощью средства командной строки W32tm. Но для начала наберите команду
net stop w32time
чтобы остановить Windows Time Service. Затем можно проверить время источника, для чего следует ввести
w32tm -once
чтобы установить время от источника времени однократно (по умолчанию W32tm обновляет время периодически). Система выдает страницу запутанной информации; в случае успешного выполнения команды в одной из строк появится Recv`ed from server 48 Bytes. Далее необходимо набрать
net start w32time
чтобы снова запустить службу времени.
После первоначальной синхронизации с сервером времени компьютер снова сверяет с ним свое время через 45 мин. Если выясняется, что разница между показаниями часов сервера времени и системных часов компьютера не превышает 2 с, интервал ожидания следующей сверки с сервером времени удваивается. Если через полтора часа разница во времени остается в пределах 2 с, компьютер продолжает удваивать интервал синхронизации и проверять точность времени и, наконец, останавливается на интервале приблизительно 8 ч.
Если неизвестно, с каким SNTP-сервером синхронизируется система, в командной строке следует ввести:
net time /querysntp
Правда, эта команда работает только на 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
А как устанавливается время на компьютерах с NT 4.0 и Windows 9x? Чтобы использовать SNTP-сервер для установки времени на одной из таких систем, необходима лишь часть программного обеспечения SNTP-клиента, чтобы сыграть роль, которую Windows Time Service выполняет в Windows 2000. Существуют различные SNTP-клиенты для систем Windows, их можно поискать на любом сайте со свободно распространяемым программным обеспечением SNTP или Tardis (Tardis — популярный SNTP-клиент для UNIX). В Microsoft Windows NT Resource Kit имеется утилита W32time, которую можно использовать в качестве клиента для NT, обеспечивающего поддержку SNTP. Его можно загрузить по адресу: ftp://ftp.microsoft.com/reskit/y2kfix.
Можно внести изменение в реестр, чтобы превратить системы 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 NT Magazine, MCSE и автор книги «Mastering Windows NT Server 4.0» (издательство Sybex). С ним можно связаться по адресу: mark@minasi.com.
Настройка для Windows 2000/2003
Вся настрока выполняется из командной строки. Откройте коммандную строку и выполните следующие команды:
net time /setsntp:адрес_сервера
net stop w32time && net start w32time
w32tm /resync
В ответ должны получить следующее:
Команда синхронизации отправлена на local computer…
Команда выполнена успешно.
Для определения величины расхождения локального времени и времени любого компьютера в сети, используйте команду:
w32tm /stripchart /computer:имя_компьютера
На экран будет выводиться информация о дельте локального времени и времени на имя_компьютера до прерывания работы при помощи Ctrl+C.
Если Ваша сеть с доменами, то клиенты будут автоматически синхронизировать свои часы с контроллером домена. Если Вы не используете в сети доменов, то настройку клиентов требуется проводить вручную.
Время с NTP-сервера (UTC)
—:—:—
Время на компьютере (UTC)
—:—:—
Сменить часовой пояс для показа времени с NTP-сервера можно на главной странице сайта.
Average User Rating
We have some Windows 2000 servers we administer that are authenticating against some NT domain controllers. You can set up your Windows 2000 servers to synchronize time with an outside source:
C:\>net time /querysntp This computer is not currently configured to use a specific SNTP server. The command completed successfully.
For a list of NTP servers, see this page. Let’s configure it for clock.isc.org:
C:\>net time /setsntp:clock.isc.org The command completed successfully.
Verify that it stuck:
C:\>net time /querysntp The current SNTP value is: clock.isc.org The command completed successfully.
You may need to bounce w32time to see your results:
C:\>net stop w32time The Windows Time service is stopping. The Windows Time service was stopped successfully. C:\>net start w32time The Windows Time service is starting. The Windows Time service was started successfully.
Note that you only want to do this on machines that are not already synchronizing with the domain controller, which happens automatically with active directory. This is also the method you would use to select an outside source to synchronize time with on the PDC of the domain at the root of the forest.
Paul is an Avid Tech Geek who Loves writing, Cycling and All Things Linux! He comes from a Background of Windows Administration along with Ubuntu/Centos Server administration. Paul holds industry wide certifications include CompTIA & Microsoft Accredited certifications.
Возникла необходимость синхронизации времени
на компьютерах локальной сети?
Или как я настраивал сервер ntp в локальной сети WINDOWS.
Ситуация следующая: в одноранговой локальной сети есть одна машина которая ходит в нтернет и синхронизирует время, например с time.nist.gov.
стандартные если на них есть доступ
time.windows.com
time.nist.gov
time-nw.nist.gov
time-a.nist.gov
time-b.nist.gov
time-b-wwv.nist.gov
time-e-wwv.nist.gov
time-e-g.nist.gov
time-a-g.nist.gov
utcnist.colorado.edu
ntp-d.nist.gov
ntp-b.nist.gov
Рабочие станции этой сети не ходят в Интернет, или им запрещено синхронизироваться, или вы не хотите дополнительный трафик по 123 порту наружу, или есть проблемы синхронизации времени с популярных интернет ntp cерверов. C помощью этой статьи вы настроите синхронизацию времени в среде Windows. Сервер синхронизации времени ntp может работать на Windows 2000, Windows XP Prof, Windows Server 2003/2008 .
Итак, приступаем к настойке.
Начнем с ОС Windows XP Prof.
Открываем реестр — Пуск -> выполнить -> regedit
идем в ветку
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControl\Set\Services\W32Time\Config
присваеваем параметру AnnounceFlags значение 5 (было (a)) . Тем самым мы обьявим наш будущий NTP сервер, достоверным и компьютеры при синхронизации с ним не будут ругаться.
Далее Пуск -> выполнить -> mmc и добавляем оснастку «Редактор обьекта групповой полтики». Обьектом группвой политики выступит Локальный компьютер.
Идем по разделам Конфигурация компьютера -> Администрантивные шаблоны (если нет параметра система правой кнопкой на слова Администрантивные шаблоны Добавление и удаление шаблонов Добавить Папка С:\windows\inf\system.adm открыть) -> Система -> Служба времени Windows -> Поставщики времени. Там находим «Включить Windows NTP-сервер» и в свойствах выбираем позицию «включить». В заключении проходим в Службы, ищем «Служба времени Windows» и перезапускаем этот сервис. Если он не включен, то включаем его и ставим тип запуска «Авто».
Кроме этого на раздающем сервере необходимо изменить интервал через который он сам будет ходить в инет за временем.
Открываем реестр — Пуск -> выполнить -> regedit
идем в ветку
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\
NtpClient\SpecialPollInterval
По умолчанию интервал между обновлениями времени в Windows 93a80 – 1 неделя (604800 сек). При низкой точности системных часов компьютера это слишком большой интервал. При такой настройке за 1 неделю часы Вашего компьютера могут получить погрешность величиной порядка минуты или даже нескольких минут. Рекомендую уменьшить интервал обновления до нескольких часов. Это изменение не увеличит ни трафика, ни нагрузки на NTP-сервер, при этом позволит поддерживать более высокую точность хода часов Вашего компьютера.
При значении флага UseAsFallbackOnly службе времени сообщается, что данный сервер будет использоваться как резервный и перед синхронизацией с ним будут выполнятся обращения к другим серверам списка.
После внесения необходимых настроек в можно перечитать конфигурацию сохраненную в реестре коммандой приведенной ниже, или перезагрузить компьютер.
w32tm /config /update
И при необходимости выполнить немедленную синхронизацию
w32tm /resync
На этом настройка сервера закончена.
На клиентских компьютерах следуем в «Панель управления», тыкаем в «дата и время» и в закладке «Время интернета» меняем строку сервер на свой локальный сервер.
Вот и все.
Можно раскидать батник на рабочие станции и запустить его там:
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
Все, удачи!
This article gives a step-by-step guide to configuring Windows Server 2000 to run a NTP time server.
Microsoft Windows 2000 has a time synchronisation utility built into the operating system called Windows Time (w32time.exe) which can be configured to operate as a network time server and uses a version of NTP called SNTP (simplified network time protocol).
Please note: Microsoft and others strongly recommend that you configure a time server with a hardware source rather than from the internet where there is no authentication. For information on NTP time servers, receivers and other NTP products please click here
To configure the Windows Time service to use an external time source please follow these instructions:
Click Start, Run and type regedit then click OK.
Locate the following subkey:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters
In the right pane, right-click Type then click Modify, in edit Value type NTP in the Value data box then click OK.
Now in the right pane, right click ReliableTimeSource, then click Modify.
In the Edit DWORD Value box, under Value Data, type 0, then click OK.
Right-click NtpServer in the right pane then click Modify.
In Edit Value, type the Domain Name System (DNS), each DNS must be unique.
Now click Ok.
For Windows 2000 Service Pack 4 only, set the time correction settings to do this locate:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters
In the right pane, right-click MaxAllowedClockErrInSecs, then Modify in the Edit DWORD Value box, , type a time in seconds max number of seconds difference between the local clock and the time received from the NTP server in order to be considered a valid new time.
Click OK.
To set the poll intervals locate:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters
In the right pane, right-click Period, then click Modify.
In the Edit DWORD Value box, under Value Data, type 24 then OK
Exit Registry Editor
Click Start, then Run then type the following and press Enter:
Net stop w32time && net start w32time
To reset the local computers’ time, type the following on all computers except for the time server which must not be synchronised with itself:
To enable the Network Time Protocol; NTPserver, locate and click:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer\
In the right pane, right-click Enabled, then click Modify.
In the Edit DWord Value box, type 1 under Value data, then click OK.
Now go back and click on
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters\NtpServer
In the right pane, right-click NtpServer, then Modify, in the Edit DWORD Value under Value Data type In the right pane, right-click NtpServer, then Modify, in the Edit DWORD Value under Value Data type the Domain Name System (DNS), each DNS must be unique and you must append 0x1 to the end of each DNS name otherwise changes will not take effect.
Now click Ok.
Locate and click the following
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient\SpecialPollInterval
In the right pane, right-click SpecialPollInterval, then click Modify.
In the Edit DWORD Value box, under Value Data, type the number of seconds you want for each poll, ie 900 will poll every 15 minutes, then click OK.
To configure the time correction settings, locate:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\config
In the right pane, right-click MaxPosPhaseCorrection, then Modify, in the Edit DWORD Value box, under Base, click Decimal, under Value Data, type a time in seconds such as 3600 (an hour) then click OK.
Now go back and click:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\config
In the right pane, right-click MaxNegPhaseCorrection, then Modify.
In the Edit DWORD box under base, click Decimal, under value data type the time in seconds you want to poll such as 3600 (polls in one hour)
Exit Registry Editor
Now to restart windows time service, click Start, Run (or alternatively use the command prompt facility) and type:
net stop w32time && net start w32time
And on each computer, other than the time server, type:
W32tm/ -s