从services.msc停止Windows服务时是否可以触发脚本执行?

时间:2018-12-12 14:27:54

标签: windows powershell batch-file service system

我想知道在从services.msc中停止服务时是否可以将其配置为调用批处理/ powershell脚本。

在Linux中,init.d服务是完全可编程的,即使systemd服务也可以具有其他过程,但我还没有找到在Windows上实现此目的的方法。

预先感谢

1 个答案:

答案 0 :(得分:1)

您可以将服务配置为在失败时运行程序,但是如果您通过services.msc停止服务,则可能不会算作失败。

我唯一想到的另一种选择是将PowerShell脚本设置为按计划任务运行,该脚本要么定期检查服务运行状态,要么(对于更安全的选择)查看事件日志中的事件,以指示该服务已停止(自上次检查脚本以来),然后执行您需要的任何操作。

根据montonero的评论,您不需要定期运行计划任务,因为可以将其配置为在事件本身发生时运行。此处描述:https://blogs.technet.microsoft.com/wincat/2011/08/25/trigger-a-powershell-script-from-a-windows-event/

  

使用事件查看器“将任务附加到此事件…”功能   创建任务。

     

启动“事件查看器”并找到事件。找到后,右键单击该事件,然后选择“将任务附加到   此事件...”。