如何在服务中止时获得通知
通常情况下,有多种不同的方法可以实现这个目的,但最简单的办法就是创建一个脚本来监视 WMI 事件。我们不打算在本专栏中详细解释 WMI 事件,但一个基本的想法就是,您可以请求 WMI 在发生某些事情的时候通知您。例如,您可以请求在硬盘空闲空间低于某个指定值或是 CPU 使用持续处在预定的水平之上时获得通知。同样,您可以请求在某个服务状态更改时获得通知;也就是说,在正在运行的服务被中止或是已停止的服务重新运行时获得通知。如果某个服务中止了,您可以请求 WMI 通知您。 以下脚本可以检查服务状态的变化;这个脚本每隔 30 秒钟会检查一次服务状态有无变化。该脚本中使用了一个无限循环,也就是说,只要启动这个脚本,它就会不断地运行下去,直到您重新启动计算机或是中止这个脚本进程。 strComputer = "." 如您所见,非常简单。任何时候只要服务状态有变化,一个 __InstanceModificationEvent 类的实例就会被创建。这个脚本会将修改后的服务 (TargetInstance.State) 的当前状态与该服务 (PreviousInstance.State) 的先前状态进行比较。假如这两个服务是一样的,也就是说当前运行的服务和先前运行的服务是一样的,那又会怎样呢?这种情况下,我们只需忽略该事件;那意味着该服务的其他属性被更改了。(例如,您可能更改了服务密码,或是将服务由“手动”启动改为“自动”启动。)如果这两个状态不同,也就是说先前运行的服务现在停止了,那么就会出现一个弹出式消息框,告诉您服务的名称、它的当前状态以及先前状态。够酷吧,嗯? |


chding
博客统计信息
热门文章
最新评论
友情链接