Virbactd.ru

Авто шины и диски
8 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Windows API для запуска синхронизации времени

Windows API для запуска синхронизации времени

Существует ли windows API, который достиг бы эквивалента нажатия кнопки «Update now» на вкладке «Date and time properties»/»Internet time» (открываемой двойным щелчком часов на панели задач)?

Есть ли способ отслеживать, когда синхронизация времени запускается windows и когда она завершается успешно или терпит неудачу?

2 ответа

  • Использует ли Android NTP для синхронизации времени?

Используют ли устройства Android протокол сетевого времени (NTP) для синхронизации времени? В настройках моего устройства я вижу checkbox со следующим текстом синхронизировать с сетью, но я не знаю, используют ли они NTP. Мне это нужно для моей бакалаврской диссертации, для которой я использую.

Вопрос говорит сам за себя. Есть ли у AMD API для установки пользовательского разрешения в Windows с пользовательским временем синхронизации (в c++)?

Служба времени не предоставляет API, но для запуска синхронизации времени вы можете использовать инструмент командной строки w32tm .

В C/C++ вы можете сделать что-то вроде этого:

Ознакомьтесь с документацией w32tm для получения дополнительных опций.

Кажется, это работает:

Это недокументировано, поэтому я не совсем уверен, каковы возможные флаги, но 8, похоже, отлично справляется с работой, проверенной с помощью моих системных часов. Если вы используете Windows 64-bit, скомпилируйте для 64-bit, или вы получите исключения нарушения прав доступа.

W32TimeQueryStatus должен иметь возможность получить последнее успешное время синхронизации. Я поработаю над этим, когда у меня будет больше времени.

Похожие вопросы:

QuickTime предоставляет набор APIs с именем Windows API, как описано здесь . Его описание говорит, что APIs используются для Windows, но ссылки также говорят, что APIs доступны в OS X 10.3 и более.

Я пишу небольшое приложение, чтобы получить различные диагностические параметры Apache Webserver, такие как время запуска сервера, рабочий режим или режим Prefork , версия сервера и многое другое. Я.

Когда я разрабатываю веб-приложения, мне часто приходится синхронизировать файлы из рабочей папки на внешний сервер или другую папку. Мне нравится держать свой код отделенным от веб-сервера. В мире.

Используют ли устройства Android протокол сетевого времени (NTP) для синхронизации времени? В настройках моего устройства я вижу checkbox со следующим текстом синхронизировать с сетью, но я не знаю.

Вопрос говорит сам за себя. Есть ли у AMD API для установки пользовательского разрешения в Windows с пользовательским временем синхронизации (в c++)?

Я смотрю на события API здесь https://asana.com/developers/api-reference/events Я вижу, что запросы нуждаются в маркере синхронизации, который, как я предполагаю, аналогичен набору изменений SHA1.

Я ищу способ программно вызвать синхронизацию OneNote с OneDrive (например, VBA, Powershell и т. д.). Дело обстоит следующим образом: 1) я сделал некоторые изменения на ноутбуке и хотел бы.

Я хочу, чтобы пользователь мог работать в автономном режиме с базой данных javascript, такой как PouchDB или IndexDb, чтобы хранить записи, а не только пользовательские данные, а затем.

Читайте так же:
Двигатель ямз 238 как регулировать клапана

У меня есть 2 разных исполняемых файла в Windows, которые мне нужно выполнить одновременно. Какой механизм синхронизации мы можем использовать для Windows, чтобы обеспечить запуск 2 процессов почти.

Я хочу знать JVM параметров, используемых для синхронизации времени между Java приложением и системой. Как UseHighResolutionTimer и UseGetTimeOfDay У меня была проблема, что время между Java.

Как исправить сбой синхронизации времени с time.windows.com?

Синхронизация времени – это функция на устройствах с Windows, позволяющая в автоматическом режиме подстраивать время к актуальному часовому поясу и дате. Обычно, когда она включена, время настраивается с различными серверами. По умолчанию большинство пользователей могут увидеть, что их устройство подключается к time.windows.com.

Проблема синхронизации времени с данным сервером является довольно распространённой ошибкой. Связана она с тем, что в некоторых случаях службе подстройки Windows не удаётся подключиться к сайту. Причины данного сбоя могут быть разные: от сброса подсоединения к интернету до повреждения определённых протоколов. Ниже представлены несколько вариантов по исправлению данной неполадки.

Решение 1. Временно отключите сторонний брандмауэр и программное обеспечение безопасности

Брандмауэр стороннего производителя – одна из наиболее распространённых причин, по которым не удаётся установить соединение с сервером синхронизации. Поэтому, если вы используете какой-либо тип стороннего устройства, вам следует отключить его или удалить, а затем посмотреть, исправило ли это ситуацию.

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

Решение 2. Переключите службу времени Windows в автоматический режим

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

  1. Нажмите сочетание клавиш Win + X, и выберите Панель управления.
  2. Перейдите в раздел Администрирование.
  3. В новом окне прокрутите вниз до пункта Службы, и дважды щёлкните ЛКМ.
  4. Найдите в списке Службу синхронизации времени, кликните ПКМ, и выберите Свойства.
  5. В пункте Тип запуска установите опцию автоматической подстройки.
  6. Нажмите: Запустить, Применить, Ок.

Как решить ошибку синхронизации с time.windows.com?

Решение 3. Разрешите службе времени Windows взаимодействовать с рабочим столом

  1. Откройте Службы, как описано выше.
  2. Найдите Службу синхронизации времени ещё раз и дважды щёлкните по ней ЛКМ.
  3. В новом окне перейдите на вкладку Вход в систему.
  4. Здесь выберите “С системной учётной записью”.
  5. Отметьте опцию Разрешить службе взаимодействовать с рабочим столом.
  6. Нажмите: Применить и Ок.

Как решить ошибку синхронизации с time.windows.com?

Решение 4. Используйте другой сервер

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

  1. Нажмите ПКМ по дате и времени в правом нижнем углу.
  2. Выберите пункт: Настройка даты и времени.
  3. Перейдите на вкладку Время по Интернету, и нажмите Изменить настройки.
  4. Установите галочку: Синхронизировать с сервером времени в интернете.
  5. Введите в строку сервера один из следующих адресов:
    • 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
  6. Нажмите: Обновить сейчас и ОК.
Читайте так же:
Как отрегулировать карбюратор чтобы он был экономичным

Как решить ошибку синхронизации с time.windows.com?

Примечание: при синхронизации часов убедитесь, что они отклоняются не более чем на 15 часов от текущего времени. Если это так, вам следует установить правильное время вручную, узнать которое можно, введя в поиске браузера запрос “Точное время”. Если расхождение более 15 часов, необходимо выбрать другой сервер из предоставленного списка.

Решение 5. Повторно зарегистрируйте службу времени Windows

Используя командную строку, можно попробовать повторно зарегистрировать службу времени Windows:

  1. Нажмите ПКМ по значку Windows в левом нижнем углу.
  2. Выберите Командная строка (Администратор).
  3. В новое окно вставьте поочерёдно следующие команды, нажимая Enter после каждой:
    • net stop w32time
    • w32tm/unregister
    • w32tm/register
    • net start w32time
    • w32tm/resync/nowait
  4. После выполнения всех команд перезагрузите компьютер и посмотрите, помогло ли это решить проблему.

Как решить ошибку синхронизации с time.windows.com?

Решение 6. Попробуйте выполнить синхронизацию в другой сети

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

Если у вас есть современный мобильный телефон, поддерживающий функцию точки доступа, включите её. Затем вернитесь к компьютеру и подключите его к сети телефона. Попробуйте синхронизировать часы.

Настройка NTP сервера в Windows

Начиная с Windows 2000 все операционные системы Windows включают в себя службу времени W32Time. Эта служба предназначена для синхронизации времени в пределах организации. W32Time отвечает за работу как клиентской, так и серверной части службы времени, причем один и тот же компьютер может быть одновременно и клиентом и сервером NTP (Network Time Protocol).

По умолчанию служба времени в Windows сконфигурирована следующим образом:

• При установке операционной системы Windows запускает клиента NTP и синхронизируется с внешним источником времени;
• При добавлении компьютера в домен тип синхронизации меняется. Все клиентские компьютеры и рядовые сервера в домене используют для синхронизации времени контроллер домена, проверяющий их подлинность;
• При повышении рядового сервера до контроллера домена на нем запускается NTP-сервер, который в качестве источника времени использует контроллер с ролью PDC-эмулятор;
• PDC-эмулятор, расположенный в корневом домене леса, является основным сервером времени для всей организации. При этом сам он также синхронизируется с внешним источником времени.

Такая схема работает в большинстве случаев и не требует вмешательства. Однако структура сервиса времени в Windows может и не следовать доменной иерархии, и надежным источником времени можно назначить любой компьютер. В качестве примера я опишу настройку NTP-сервера в Windows Server 2008 R2, хотя со времен Windows 2000 процедура не особо изменилась.

Читайте так же:
Устройство стробоскопа для регулировки зажигания

Запуск NTP сервера

Сразу отмечу, что служба времени в Windows Server (начиная с 2000 и заканчивая 2012) не имеет графического интерфейса и настраивается либо из командной строки, либо путем прямой правки системного реестра. Лично мне ближе второй способ, поэтому идем в реестр.

Итак, первым делом нам надо запустить сервер NTP. Открываем ветку реестра
HKLMSystemCurrentControlSetservicesW32TimeTimeProvidersNtpServer.
Здесь для включения сервера NTP параметру Enabled надо установить значение 1.

включение сервера NTP

Затем перезапускаем службу времени командой net stop w32time && net start w32time

перезапуск службы времени в Windows

После перезапуска службы NTP сервер уже активен и может обслуживать клиентов. Убедиться в этом можно с помощью команды w32tm /query /configuration. Эта команда выводит полный список параметров службы. Если раздел NtpServer содержит строку Enabled :1 , то все в порядке, сервер времени работает.

просмотр параметров службы времени в Windows

Для того, чтобы NTP-сервер мог обслуживать клиентов, не забудьте на файерволле открыть UDP порт 123 для входящего и исходящего траффика.

Основные настройки NTP сервера

NTP сервер включили, теперь надо его настроить. Открываем ветку реестра HKLMSystemCurrentControlSetservicesW32TimeParameters. Здесь в первую очередь нас интересует параметр Type, который задает тип синхронизации. Он может принимать следующие значения:

NoSync — NTP-сервер не синхронизируется с каким либо внешним источником времени. Используются часы, встроенные в микросхему CMOS самого сервера;
NTP — NTP-сервер синхронизируется с внешними серверами времени, которые указаны в параметре реестра NtpServer;
NT5DS — NTP-сервер производит синхронизацию согласно доменной иерархии;
AllSync — NTP-сервер использует для синхронизации все доступные источники.

Значение по умолчанию для компьютера, входящего в домен — NT5DS, для отдельно стоящего компьютера — NTP.

И параметр NtpServer, в котором указываются NTP-сервера, с которыми будет синхронизировать время данный сервер. По умолчанию в этом параметре прописан NTP-сервер Microsoft (time.windows.com, 0x1), при необходимости можно добавить еще несколько NTP-серверов, введя их DNS имена или IP адреса через пробел. Список доступных серверов времени можно посмотреть например здесь.

В конце каждого имени можно добавлять флаг (напр. ,0x1) который определяет режим для синхронизации с сервером времени. Допускаются следующие значения:

0x1 – SpecialInterval, использование специального интервала опроса ;
0x2 – режим UseAsFallbackOnly;
0x4 – SymmetricActive, симметричный активный режим;
0x8 – Client, отправка запроса в клиентском режиме.

При использовании флага SpecialInterval, необходимо установленное значение интервала в ключе SpecialPollInterval. При значении флага UseAsFallbackOnly службе времени сообщается, что данный сервер будет использоваться как резервный и перед синхронизацией с ним будут выполнятся обращения к другим серверам списка. Симметричный активный режим используется NTP-серверами по умолчанию, а клиентский режим можно задействовать в случае проблем с синхронизацией. Подробнее о режимах синхронизации можно посмотреть здесь, либо не морочиться и просто ставить везде ,0x1 (как советует Microsoft).

Читайте так же:
Как отрегулировать давление воздуха в краскопульте

настройка синхронизации NTP сервера

Еще один важный параметр AnnounceFlags находится в разделе реестра HKLMSystemCurrentControlSetservicesW32TimeConfig. Он отвечает за то, как о себе заявляет NTP-сервер и может принимать следующие значения:

0x0 (Not a time server) — сервер не объявляет себя через NetLogon, как источник времени. Он может отвечать на NTP запросы, но соседи не смогут распознать его, как источник времени;
0x1 (Always time server) — сервер будет всегда объявлять о себе вне зависимости от статуса;
0x2 (Automatic time server) — сервер будет объявлять о себе только, если он получает надежное время от другого соседа (NTP или NT5DS);
0x4 (Always reliable time server) — сервер будет всегда заявлять себя, как надежный источник времени;
0x8 (Automatic reliable time server) — контроллер домена автоматически объявляется надежным если он PDC-эмулятор корневого домена леса. Этот флаг позволяет главному PDC леса заявить о себе как об авторизованном источнике времени для всего леса даже при отсутствии связи с вышестоящими NTP-серверами. Ни один другой контроллер или рядовой сервер (имеющие по умолчанию флаг 0x2) не может заявить о себе, как надежном источнике времени, если он не может найти источник времени для себя.

Значение AnnounceFlags составляет сумму составляющих его флагов, например:

10=2+8 — NTP-сервер заявляет о себе как о надежном источнике времени при условии, что сам получает время из надежного источника либо является PDC корневого домена. Флаг 10 задается по умолчанию как для членов домена, так и для отдельно стоящих серверов.

5=1+4 — NTP-сервер всегда заявляет о себе как о надежном источнике времени. Например, чтобы заявить рядовой сервер (не домен-контроллер) как надежный источник времени, нужен флаг 5.

настройка представления NTP сервера

Ну и настроим интервал между обновлениями. За него отвечает уже упоминавшийся выше ключ SpecialPollInterval, находящийся в ветке реестра HKLMSystemCurrentControlSetservicesW32TimeTimeProvidersNtpClient. Он задается в секундах и по умолчанию его значение равно 604800, что составляет 1 неделю. Это очень много, поэтому стоит уменьшить значение SpecialPollInterval до разумного значения, скажем до 1 часа (3600).

настройка интервала синхронизации NTP сервера

После настройки необходимо обновить конфигурацию сервиса. Сделать это можно командой w32tm /config /update. И еще несколько команд для настройки, мониторинга и диагностики службы времени:

w32tm /monitor – при помощи этой опции можно узнать, насколько системное время данного компьютера отличается от времени на контроллере домена или других компьютерах. Например: w32tm /monitor /computers:time.nist.gov
w32tm /resync – при помощи этой команды можно заставить компьютер синхронизироваться с используемым им сервером времени.
w32tm /stripchart – показывает разницу во времени между текущим и удаленным компьютером, причем может выводить результат в графическом виде. Например, команда w32tm /stripchart /computer:time.nist.gov /samples:5 /dataonly произведет 5 сравнений с указанным источником и выведет результат в текстовом виде.

w32tm /config – это основная команда, используемая для конфигурирования службы NTP. С ее помощью можно задать список используемых серверов времени, тип синхронизации и многое другое. Например, переопределить значения по умолчанию и настроить синхронизацию времени с внешним источником, можно командой w32tm /config /syncfromflags:manual /manualpeerlist:time.nist.gov /update
w32tm /query — показывает текущие настройки службы. Например команда w32tm /query /source покажет текущий источник времени, а w32tm /query /configuration выведет все параметры службы.

Читайте так же:
Ипсум в 10 кузове регулировка фар

Ну и на крайний случай 🙁
w32tm /unregister — удаляет службу времени с компьютера.
w32tm /register – регистрирует службу времени на компьютере. При этом создается заново вся ветка параметров в реестре.

Синхронизировать время с сервером времени в Интернете

В Windows 10 вы можете изменить отображаемое время сами или настроить его автоматическую синхронизацию с сервером времени в Интернете, что позволит вашим часам всегда отображать правильное время. В сегодняшней статье рассмотрим как включить (отключить) синхронизацию времени с сервером времени в Интернете.

Включить (отключить) синхронизацию времени в параметрах системы

1. Откройте меню “Пуск” и зайдите в “Параметры”.

2. Откройте “Время и язык”, нажмите с левой стороны на “Дата и время”. Чтобы включить синхронизацию времени – нажмите на переключатель возле “Установить время автоматически”, чтобы он стал в положение “Вкл.” (соответственно, если вы хотите выключить синхронизацию времени – нужно нажать на переключатель, чтобы он стал в положение “Откл.).

3. Вы можете выбрать с каким сервером будет синхронизироваться время, для этого немного ниже нажмите на “Дополнительные параметры даты и времени, региональные параметры”.

4. Нажмите на “Дата и время”.

5. Перейдите во вкладку “Время по интернету” и нажмите на “Изменить параметры”.

6. Возле “Сервер” выберите из списка сервер с которым хотите синхронизировать время и нажмите на “Обновить сейчас”, чтобы увидеть может ли компьютер синхронизировать время с выбранным вами сервером. Если ниже напишет “Время было успешно синхронизировано …” нажмите на “ОК”. Также в этом окне можно отключить или включить синхронизацию времени, для этого нужно снять галочку возле “Синхронизировать с сервером времени в Интернете” – если вы хотите отключить синхронизацию, или поставьте галочку – если хотите ее включить.

После выбора нужных параметров закройте все открытые окна.

Синхронизировать время используя командную строку

1. Откройте командную строку от имени администратора: один из способов – нажмите на меню “Пуск” правой клавишей мыши и выберите “Командная строка (Администратор)”.

2. Если ваш компьютер находится в домене – введите команду net time /domain и нажмите Enter, если компьютер находится в обычной сети – введите команду w32tm /resync и нажмите клавишу Enter.

После выполнения команды закройте командную строку.

На сегодня всё, если вы знаете другие способы – пишите в комментариях! Удачи Вам 🙂

голоса
Рейтинг статьи
Ссылка на основную публикацию
Adblock
detector