Автоматическая синхронизация времени Windows чаще, чем по умолчанию


21

У меня есть несколько компьютеров, которые теряют время, и я бы хотел, чтобы Windows чаще синхронизировала их со временем в Интернете. Я думаю, что Windows по умолчанию пытается обновляться только один раз в день и не обновляется, если сервер времени недоступен (что, кажется, случается довольно часто), то есть ПК могут работать 20 или 30 секунд.

Я хотел бы создать запланированное задание, чтобы делать это, скажем, каждые 5 минут, и если сервер времени по умолчанию недоступен, используйте функцию mul.


2
Не проще ли определить причину, по которой эти компьютеры не могут подключиться к серверу времени?
Ramhound


Серверы по умолчанию тоже меня подводят. Попробуйте изменить его на, pool.ntp.orgкак предлагается в этом ответе
jan-

Ответы:


14

Люди, я запустил это с окнами, встроенными в w32tm и запланированной задачей (см. Ниже).

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

Настроить w32tm

Откройте командную строку (запустите следующее как администратор)

w32tm /config /manualpeerlist:"time.nist.gov time.windows.com time-nw.nist.gov time-a.nist.gov time-b.nist.gov time-a.timefreq.bldrdoc.gov time-b.timefreq.bldrdoc.gov time-c.timefreq.bldrdoc.gov utcnist.colorado.edu" /syncfromflags:manual /update

w32tm /query /configuration

Убедитесь, что список серверов NTP обновлен правильно, т. Е. Он отражает список пиров, который вы только что ввели

w32tm /debug /enable /file:C:\windows\temp\w32time.log /size:10000000 /entries:300

Перейдите в каталог и проверьте, что журнал был создан

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

w32tm /resync

Проверьте системное время было обновлено. ** Если вы получили сообщение о том, что служба времени не запущена, вы можете использовать команду, а net start w32timeзатем попробуйте выполнить повторную синхронизацию

Если вы получите следующую ошибку: The compter did not resync because the required time change was too big.используйте эту команду для повторной синхронизации:w32tm /resync /force

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

Расписание w32tm

Программа / Сценарий Аргумент

%windir%\system32\sc.exe start w32time task_started
%windir%\system32\w32tm.exe /resync

1
По умолчанию время Windows обновляется по крайней мере каждые 9,1 часа . Это контролируется MaxPollIntervalзаписью реестра, обсуждаемой по этой ссылке. Данные этой записи преобразуются в секунды по формуле 2^Value. Например, если значение MaxPollInterval равно 11, тогда 2^11=2048sec=34minutes. Для тех , кто хочет уменьшить частоту обновления без использования запланированного задания, просто изменить этот параметр реестра перезапустите службу времени Windows с net stop w32timeпотом net start w32time.
Я говорю Восстановить Монику

« /entries:300» не правильный вариант. Он будет отображать только записи, зарегистрированные с кодом # 300, что совсем немного. Идея состоит в том, чтобы использовать этот параметр в качестве списка номеров записей для отображения, поэтому " /entries:0-300" покажет все возможные события в журнале.
MikeB

10

Перейдите в Панель управления> Администрирование> Планировщик задач

слева - дерево папок, разверните: Библиотека планировщика заданий> Microsoft> Windows> Синхронизация времени

щелкните правой кнопкой мыши задачу: SynchronizeTime> properties

На вкладке: Триггеры вы можете добавить нужные триггеры.


ОП запросил интервал синхронизации 20-30 с. Это возможно только с помощью трюка для определения нескольких триггеров
nixda

2
Распространенное заблуждение, но вы действительно не можете быть обвинены! Это запланированное задание только гарантирует, что служба времени Windows работает ... Таким образом, даже если вы запускаете задачу чаще, она все равно решает, когда синхронизировать, что, по-видимому, еженедельно.
Gras Double

6
Чтобы изменить частоту опроса: HKLM\SYSTEM\CurrentControlSet\services\W32Time\TimeProviders\NtpClientизмените ключ реестра SpecialPollIntervalв секундах (например, для одного дня: шестнадцатеричное 15180 или десятичное 86400).
Двойной Гра

Большой! этот трюк сработал для меня на моей ОС W7
razor7

2
Спасибо Microsoft за выполнение простой задачи звучания, такой как синхронизация времени, ТАК ЧЕРНО СЛОЖНО. Единственное разумное решение - это запускать сторонние утилиты на регулярной основе.
Двойной

4

Вы можете использовать TimeSync для автоматизации синхронизации времени.

  • верх: не регистрирует весь сервис, такой как W32tm (который у вас есть, когда вы используете W32tm)
  • верх: он переносной и может быть запущен с /autoопцией из папки автозагрузки
  • недостаток: сторонний инструмент, а не встроенное решение

    введите описание изображения здесь

TimeSync получает текущее время с сервера NIST и при необходимости корректирует часы ПК. Точность обычно в течение секунды. [...] TimeSync попробует альтернативные серверы, если время не может быть получено с предпочтительного сервера.

Опция / auto предоставляется для запуска TimeSync из папки «Автозагрузка». В этом режиме окно TimeSync не будет отображаться, если смещение часов находится ниже заданного минимума.


Конечно, вы все еще можете зарегистрировать встроенное решение W32tm cmd.exe → W32tm /registerи настроить запланированное задание для вызоваcmd.exe → W32tm /resync каждые 5 минут.


2

Вы также можете попробовать эту программу: http://www.worldtimeserver.com/atomic-clock/ Это позволяет вам изменить настройки службы времени Windows - простой способ.

Также работает принудительная синхронизация с ним, в то время как Windows «Обновить сейчас» почти никогда не работает.


-1

Я запускаю эту команду в киосках, которыми я управляю.

net start w32time 
w32tm /resync /force

вручную установить дату и время:

date 5/24/2017
time 18:37:00

Установить часовой пояс:

tzutil/s Pacific Standard Time

1
Что делают команды в первом блоке кода? Второй и третий блоки кода имеют какое-либо отношение к этому вопросу?
Скотт
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.