Назад | Перейти на главную страницу

Зависимости сервисов WIN32

Я знаю, что это уже решалось, но я не получаю четкого ответа от этот вопрос.

У меня есть служба, которая зависит от диспетчера очереди печати.
Время от времени спулер вылетает ... (к счастью, не часто) ...
Мне нужно остановить эту службу при сбое службы диспетчера очереди печати.
Я не уверен, добавляю ли зависимость для Спулер к моему сервису будет делать именно это?

Я попытался использовать опцию восстановления «Запустить программу» и использовать какой-то скрипт, чтобы остановить службу, но
Я не полностью доверяю этому ... (получение ошибки «Доступ запрещен»)

Спасибо за ваш совет.

Зависимости между службами используются для определения порядка, в котором службы запускаются. Итак, если ваша служба A зависит от службы B и вы установили эту зависимость, система гарантирует, что служба B запускается до службы A.

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

Зависимости не действуют при сбое одной из служб.

Вам следует попробовать установить параметр восстановления «Запустить программу» в службе «Диспетчер очереди печати». Затем запускаемый сценарий должен перезапустить вашу службу.

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

Похоже, что сценарий запускается под той же учетной записью пользователя, которая запускает сбойную службу. Поскольку «Диспетчер очереди печати» обычно работает в «Локальной системе», по умолчанию у него должно быть достаточно разрешений для перезапуска вашей службы.

Вы должны выяснить, почему вы получаете ошибку «Доступ запрещен». Вы могли бы добавить 'whoami /all' в свой сценарий и перенаправьте вывод в файл.

Если вам нужно установить разрешения для вашего сервиса, отметьте этот вопрос SF