Windows服务的电子邮件警报

时间:2014-08-15 08:03:42

标签: windows powershell

如何为Starting& amp;设置电子邮件提醒停止Windows服务? 我将Tomcat作为服务运行在Windows Server 2008 R2中,我想在服务启动/停止/重新启动时设置电子邮件警报。?

有没有Powershell命令?任何基于Windows事件的触发器?

3 个答案:

答案 0 :(得分:3)

可能有许多解决方案(例如使用Nagios监控服务状态并发送警报)。

如果您想使用 PowerShell ...

SOLUTION1 :使用“恢复”标签计划操作("运行程序")。该操作应该是发送电子邮件的PowerShell脚本...

注意:正如雅各布在评论中所说,只有当服务因错误而停止时才会触发行动。

enter image description here

SOLUTION2 :另一种可能的解决方案是每x次运行一次计划任务(您选择...最少1分钟)运行PowerShell脚本。那个脚本会:

  1. 检查服务状态并与之前的状态进行比较(使用Get-Service cmdlet)
  2. 如果状态发生变化,请更改以前的状态并发送电子邮件。
  3. 你可以在这里找到一个完全具有same problem的人并用Powershell修复它。

答案 1 :(得分:1)

您可以创建一个将根据事件日志触发的任务,而不是像@cad建议的那样安排定期任务: enter image description here

您可以将其配置为从系统日志文件中的 7036 服务控制管理器开始。

此任务可以运行powershell脚本,您可以在其中发送邮件。简短的例子

Get-EventLog -LogName system -Source "service control manager" -After (get-date).AddMinutes(-5) |?{$_.message -match "tomcat"} | select timegenerated, message  

答案 2 :(得分:0)

您可能希望了解如何创建WMI事件(Win32_Service类)。我在相当长的一段时间内没有使用过这个功能,但它看起来像PowerShell现在变得更容易了。这将提供即时警报,而不需要单独的轮询过程。

http://blogs.technet.com/b/heyscriptingguy/archive/2012/06/08/an-insider-s-guide-to-using-wmi-events-and-powershell.aspx