有意停止Windows服务时调用脚本

时间:2017-10-24 18:23:59

标签: windows powershell batch-file windows-server-2012-r2

当有意从服务(services.msc)停止Windows服务时,是否有办法调用批处理或Powershell脚本,我的应用程序服务停止时需要执行几项任务。我有一个脚本,它检查服务的状态,如果Windows服务没有运行,可以调用另一个脚本,但是它与时间表一起工作,所以如果停止并立即启动服务,脚本将不会执行,因为服务将在到那时运行状态。

2 个答案:

答案 0 :(得分:0)

您可以执行轮询服务的无限循环。

While ($True)
{
    If (-not (Get-Service -Name 'myproc')) { <# do a thing #> }
}

答案 1 :(得分:-1)

(我没有足够的代表作为评论这样做,所以我要留下&#34;答案&#34; - 抱歉提前!)

我不知道在停止服务等事件上启动脚本。您可以使用&#34;停止服务&#34;将Powershell与当前服务监视脚本结合使用的cmdlet,以便在您运行脚本时不再重新启动服务,然后启动&#34; Start-Service&#34;最后让它回来。