В Windows значительно усовершенствованы функции восстановления служб. Откройте оснастку Управление компьютером (Computer Management), выберите команду Службы и программы > Службы (Serices and Applications > Services) и перейдите на вкладке Восстановление (Recovery), где для каждой службы представлен набор соответствующих действий.
· Ничего не делать (Take no action);
· Перезапуск службы (Restart the service);
· Выполнение программы (Run a user-defined file);
· Перезагрузка компьютера (Reboot a machine).
Для решения этой задачи также можно создать собственный сценарий, выполняемый непрерывно, с помощью командного файла. Например, в следующем сценарии используются программы SC.EXE и SLEEP.EXE из пакета Resource Kit:
:start
sc query spooler > state.txt
find "STOPPED" state.txt
if %errorlevel% EQU 0 goto error
sleep 300
goto start
:error
sc start spooler
sleep 5
goto start
Существует возможность добавить имя сервера (например, \\server query и т.д.), если необходимо контролировать работу удаленного компьютера. Проверка выполняется каждые пять минут, однако, интервал можно изменить, равно как проверять сразу несколько служб.