ЗАМЕТКИ

Ошибка службы времени. Системная ошибка 1290

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


net start w32time


Системная ошибка 1290.
Не удалось запустить эту службу, так как одна или несколько служб одного процесс
а имеют несовместимый параметр типа SID службы. Служба с ограниченным типом SID
может сосуществовать в одном и том же процессе только с другими службами с огран
иченным типом SID. Если тип SID для этой службы только что настроен, необходимо
перезапустить хост-процесс, чтобы запустить эту службу.


Выносим службу в отдельный процесс:
sc config w32time type= own

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

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

Invalid service type: w32time on DCSERVER, current value WIN32_OWN_PROCESS, expected value
WIN32_SHARE_PROCESS

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

Решение:
net stop w32time
w32tm /unregister

Перезапускаем сервер и регистрируем службу:
regsvr32 /u w32time.dll
w32tm /register

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

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

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

После чего, снова перезапускаем сервер, и запускаем команду sc query w32time, проверяем что служба работает:

SERVICE_NAME: w32time
        TYPE               : 20  WIN32_SHARE_PROCESS
        STATE              : 4  RUNNING
                                (STOPPABLE, NOT_PAUSABLE, ACCEPTS_SHUTDOWN)
        WIN32_EXIT_CODE    : 0  (0x0)
        SERVICE_EXIT_CODE  : 0  (0x0)
        CHECKPOINT         : 0x0
        WAIT_HINT          : 0x0

Настраиваем контроллер на получение времени из внешних источников:
w32tm /config /manualpeerlist:"ntp1.stratum2.ru,0x8 ntp2.stratum2.ru,0x8 ntp3.stratum2.ru,0x8″ /syncfromflags:manual /reliable:yes /update

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

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

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

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