суббота, 26 октября 2013 г.

Windows 2003 Time Synchronization

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

По этому серверу можно было бы написать много заметок…  Т.к. у меня в блоге была статья по синхронизации времени в локальной сети на основе рабочей группы - Date Time In My Network Синхронизация времени компьютеров сети, то подумал, что описание будет более полным, если добавить настройку времени для Windows 2003.

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

net time /querysntp
net time /setsntp:"ntp.time.in.ua"
net stop w32time
net start w32time

Оказалось все просто – служба времени была не сконфигурирована.

Конфигурируем службу времени Windows 2003:

w32tm /config /manualpeerlist:ntp.time.in.ua /syncfromflags:manual /reliable:yes /update

С этого момента команды net time начинают отрабатываться нормально.

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

w32tm /resync /rediscover

Или остановкой-запуском службы w32time, как в первом примере этой заметки

Мой рабочий батник выглядит так:

	@echo off
	cls
::	запускать от Администратора
rem	net time /querysntp
rem	net time /setsntp:"ntp.time.in.ua"
rem	net stop w32time
rem	net start w32time
	w32tm /config /manualpeerlist:ntp.time.in.ua /syncfromflags:manual /reliable:yes /update
::	после выполнения вышеприведенной команды, w2k3 стала нормально реагировать на все
::	команды net time
	w32tm /resync /rediscover
	echo.
	pause