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

Возник тут вопрос о том, чтобы синхронизировать время на компьютере сразу после загрузки Windows. Поднял свои архивы, нашел один пакетный файл, который писал еще много лет назад. Он работал, но, как говорится, «время идет», появились новые пожелания. Поэтому файл был полностью переписан.
Для внесения изменений в параметры службы Windows нам нужно ее остановить, внести необходимые изменения и заново запустить. После всего этого выполнить синхронизацию времени. Что данный «батник» и делает.
Интервал обновления изменен на «один раз в сутки» против значения по умолчанию «один раз в неделю». Также убраны ограничения интервалов, дата на компьютере может быть любой, синхронизация все равно будет произведена. Тестировал на разнице в 7 лет. В качестве сервера времени выбран ru.pool.ntp.org.
Ниже код того, что у меня получилось. Можно, конечно, еще добавить команды для добавления задания в планировщик, но, на мой взгляд, это уже лишнее и лучше проделать это руками.

@echo off
net stop w32time

sc config w32time start= auto

reg add HKLM\SYSTEM\CurrentControlSet\services\W32Time\Config /v MaxNegPhaseCorrection /t REG_DWORD /d "4294967295" /f
reg add HKLM\SYSTEM\CurrentControlSet\services\W32Time\Config /v MaxPosPhaseCorrection /t REG_DWORD /d "4294967295" /f
reg add HKLM\SYSTEM\CurrentControlSet\services\W32Time\TimeProviders\NtpClient /v SpecialPollInterval /t REG_DWORD /d "86400" /f

net start w32time

w32tm /config /syncfromflags:manual /manualpeerlist:ru.pool.ntp.org
w32tm /config /update
w32tm /resync

exit
Отправить
Поделиться