Dra*_*mon 5 counter windows-services reset
我有一项服务,当某些资源不可用时会失败。我已将其配置为尝试重新启动两次,然后在第三次尝试时向我发送一条SMS。不幸的是,windows只允许您选择在特定天数之后重置失败计数,而我真的希望它在每三个失败时重置一次。问题在于,一旦服务再次运行,另一个故障将导致它发送另一条SMS,甚至不尝试重新启动该服务。
因此,我想在我的SMS脚本中包含一些代码以重置故障计数器。我发现以下注册表位置:
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \
其中包含失败操作的其他设置(二进制),但据我所知没有计数器。
该sc命令可让您查询各种内容,但不会返回失败计数。
理想情况下,我希望以编程方式查询/重置故障计数器,但是使用命令行或注册表解决方案就可以了(因为我可以编写脚本)。
Win32 API 允许您指定在 X 秒(而不是 X 天)后重置失败计数。查看 SERVICE_FAILURE_ACTIONS 结构的 dwResetPeriod 成员。
A 代表故障计数器本身,它在 SCM 内部私下维护,它知道自 Windows 启动以来给定服务发生故障的次数。应用程序无法手动重置该计数器,甚至无法查询该计数器。