Windows 服务控制器:查看服务的 `sc failure` 设置

Windows service controller: view `sc failure` settings for a service

我想查看 sc failure 服务的当前设置。这可能吗?

背景:

我正在使用 Saltstack 为服务设置状态配置。现在,设置服务时,命令行是 运行 设置失败行为,如:

sc failure serviceName reset= 30 actions= restart/5000

我希望能够查询传递给 sc failure 的参数的当前值,以便 Salt 可以验证是否需要进行任何更改,并在推出时记录值的更改新配置。

sc failuresc query 的文档中,我没有看到任何支持这一点的内容。

在注册表中,HKLM:\SYSTEM\CurrentControlSet\services\myService\ 处有一个键值 FailureActions。但我不知道如何读取此键的值以将其与我想要的状态进行比较:

PS C:\Users\blaffoy> (Get-ItemProperty -path $key -name failureactions).failureactions
30
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
20
0
0
0
1
0
0
0
136
19
0
0

一些实验表明第一个数字对应于 reset 参数,但除此之外我不知道如何协调输出的其余部分。

sc.exe 是 Windows 服务 API 的命令行界面。 QueryServiceConfig2 处理多种查询类型,这些查询类型公开为以下命令:

  • qdescription
  • qfailure
  • qfailureflag
  • qsidtype
  • qprivs
  • qtriggerinfo

您需要的命令是sc [server] qfailure <service name> <bufferSize>