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

07 March 2010 #windows #soft

В Linux вопрос синхронизации времени решается довольно просто, причем существует масса различных способов. В Windows все сложнее.

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

Проверить точность хода часов довольно просто в любой системе, если зайти на сайт time.is

В данном случае время синхронизировано, поэтому показывается сообщение “You have the exact time!”, в остальных случаях показывается величина отклонения в секундах.

Что же можно использовать для синхронизации времени в Windows, помимо встроенных средств? Воспользуемся программой Neutron. Архив с программой весит всего 7 килобайт. Распаковываем программу в любую папку на диске. Установка не требуется.

При запуске получаем следующее окно:

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

Примерное содержимое файла:

[Options]
AutoSync=1
AutoExit=1
Server=14
Retry=1
[Servers]
0="cuckoo.nevada.edu"
1="ntp.nblug.org"

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

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

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

Для этого переходим в “Панель управления\Все элементы панели управления\Администрирование” и выбираем пункт “Планировщик заданий”.

Создаем новое задание:

Указываем имя задачи (в данном случае я открыл для редактирования существующую задачу, поэтому поле ввода не активно). Указываем, что задача будет запускаться как системный процесс и с наивысшими правами. Затем переходим во вкладки Триггеры и задаем следующие условия запуска:

После чего нам осталось только указать, что именно мы собираемся запускать. Это делается во вкладке действия:

Вот и все. После создания задания оно становиться активным и согласно нашим настройкам Neutron будет автоматически запускаться раз в 3 часа с правами администратора, приводя наше системное время в порядок.

Данный способ автоматизации запуска можно использовать не только для синхронизации времени. Но это в другой раз.