Можно ли запустить выполнение скрипта при остановке службы Windows из services.msc? - PullRequest
0 голосов
/ 12 декабря 2018

Я хочу знать, можно ли настроить службу для вызова сценария batch / powershell, когда я прекращаю его из services.msc.

В то время как в Linux службы init.d полностью программируются и даже системныеВ службах могут быть дополнительные процедуры, которые я пока не нашел, как это сделать в Windows.

Заранее спасибо

1 Ответ

0 голосов
/ 12 декабря 2018

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

Единственный другой вариант, который я могу придуматьбыло бы настроить сценарий PowerShell, выполняемый как запланированное задание, которое либо периодически проверяет состояние запущенных служб, либо (для более надежной опции) просматривает журнал событий на наличие событий, указывающих, что служба была остановлена ​​(с момента последнегопроверяется сценарием), а затем выполняет все необходимые действия.

Согласно комментарию от montonero, вам не нужно периодически запускать запланированное задание, поскольку его можно настроить для запуска при возникновении самого события.Это описано здесь: https://blogs.technet.microsoft.com/wincat/2011/08/25/trigger-a-powershell-script-from-a-windows-event/

Используйте функцию просмотра событий «Присоединить задачу к этому событию…» для создания задачи.

Запустите «Просмотр событий» и найдите событие,Найдя его, щелкните правой кнопкой мыши событие и выберите «Прикрепить задачу к этому событию ...».

...