Вы можете настроить службы для запуска программы в случае сбоя, но если вы остановите службу через services.msc, то это, скорее всего, не будет считаться отказом.
Единственный другой вариант, который я могу придуматьбыло бы настроить сценарий PowerShell, выполняемый как запланированное задание, которое либо периодически проверяет состояние запущенных служб, либо (для более надежной опции) просматривает журнал событий на наличие событий, указывающих, что служба была остановлена (с момента последнегопроверяется сценарием), а затем выполняет все необходимые действия.
Согласно комментарию от montonero, вам не нужно периодически запускать запланированное задание, поскольку его можно настроить для запуска при возникновении самого события.Это описано здесь: https://blogs.technet.microsoft.com/wincat/2011/08/25/trigger-a-powershell-script-from-a-windows-event/
Используйте функцию просмотра событий «Присоединить задачу к этому событию…» для создания задачи.
Запустите «Просмотр событий» и найдите событие,Найдя его, щелкните правой кнопкой мыши событие и выберите «Прикрепить задачу к этому событию ...».