Ошибка службы времени «w32tm /resync Access is denied. (0x80070005)»

9
8

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

Получаю:

System error 1290 has occurred. The service start failed since one or more services in the same process have an incompatible service SID type setting. A service with restricted service SID type can only coexist in the same process with other services with a restricted SID type. If the service SID type for this service was just configured, the hosting process must be restarted in order to start this service.

Выносим службу в отдельный процесс:

Должны получить [SC] ChangeServiceConfig SUCCESS

После чего служба запускается, но при этом начинает ругается dcdiag.

При попытке выполнить любой запрос, например w32tm /query /status вываливается ошибка закрытого доступа.

Решение оказалось нетривиальным:

Перезапускаем сервер и регистрируем службу:

После убедимся, что сервис снова установлен в расшаренном режиме, наберем:

В ответ должны получить WIN32_OWN_PROCESS:

После чего, снова перезапускаем сервер, и запускаем команду

Убедимся что служба запущена:

Затем как обычно, настраиваем контроллер на получение времени из внешних источников:

Внесем изменения в конфигурацию:

Выполним синхронизацию командой:

Отобразить текущие источники синхронизации и их статус можно следующей командой:

Статус синхронизации контроллеров домена в домене:

9 КОММЕНТАРИИ

  1. Спасибо, 3 дня не мог понять, почему у меня время в домене мистическим образом откатывается на час назад, наткнулся на эту статью, перерегистрация службы решила проблему. Гранмерси автору.

  2. А у меня строго 10 минутная разница поддерживалась. Нашел 3-4 статьи на эту тему. Эта оказалась наиболее детальная, несмотря на краткость. Спасибо.

  3. Вы написали — «После чего, снова перезапускаем сервер, и запускаем команду, проверяем что служба работает»
    А какими командами это сделать?
    Если я повторно запускаю «regsvr32 /u w32time.dll» у меня выходит ошибка: The module «w32time.dll» was loaded but the call to DllUnregisterServer failed with error code 0x80070005.

    • Имелось ввиду снова запускаем команду ‘sc query w32time’ что бы оценить в каком режиме работает служба w32time. Повторно выгружать dll не надо.

      • Эмм… Что означают слова «Снова перезапускаем сервер»? Что надо сделать? Если я снова введу команду «sc query w32time», то я, очевидно, получу тот же самый ответ
        «SERVICE_NAME: w32time
        TYPE : 20 WIN32_SHARE_PROCESS
        STATE : 1 STOPPED
        (STOPPABLE, NOT_PAUSABLE, ACCEPTS_SHUTDOWN)
        WIN32_EXIT_CODE : 0 (0x0)
        SERVICE_EXIT_CODE : 0 (0x0)
        CHECKPOINT : 0x0
        WAIT_HINT : 0x0»

        • Это значит физически перезапускаем сервер или вводим эквивалентную этой операции команду в консоли: shutdown.exe /r /t 0

  4. «Решение оказалось нетривиальным:
    net stop w32time
    w32tm /unregister»
    И тут я тоже ловлю ошибку доступа. Даже от имени администратора… Ооййй Господи… Венда ты моя, венда. Венданутая. Как можно вообще априори получать ошибку доступа заходя в консоль от имени администратора?

    • Потому что в венде, системные службы и сервисы работают не из под учетной записи администратора, а из под более высоких привилегий таких как: system, local service (w32time), network service :)

Оставьте комментарий

Войти с помощью: 
Please enter your comment!
Please enter your name here