2012-12-09 45 views
1

我配置我的Windows服務恢復如下:手動重置Windows服務失敗次數

  • 列表項
  • 第一次失敗:重新啓動服務
  • 第二次失敗:重新啓動服務
  • 後續失敗:採取不採取行動
  • 重置失敗計數後:1天
  • 重新啓動服務後:1分鐘

現在我想在第三次失敗後重置失敗計數,這樣當管理員手動重新啓動服務時,服務可以自動重新恢復。

到目前爲止,我發現唯一的解決方案是重置計數器是卸載/重新安裝我發現不乾淨的服務。任何想法如何做到這一點?

回答

1

服務控制管理器計算自系統引導以來每個服務失敗的次數。如果服務在dwResetPeriod秒未失敗,則計數重置爲0。

調用ChangeServiceConfig2並將SERVICE_FAILURE_ACTIONS的dwResetPeriod設置爲0將重置計數。

您需要查詢(請參閱QueryServiceConfig2)dwResetPeriod的原始設置,將其設置爲零,然後將其重置爲原始狀態以保留狀態。

+0

感謝您的快速回答。我做了一個工具來改變dwResetPeriod,但沒有工作:計數不會重置。 我試過了: (a)1.服務第三次失敗,2.設置dwResetPeriod = 0,3.設置dwResetPeriod = 86400,4.啓動服務 (b)1.服務第三次失敗,2.設置dwResetPeriod = 0,3.啓動服務,4.設置dwResetPeriod = 86400 – laurian