Я пытаюсь найти метод командной строки для установки флажка Enable actions for stops with errors
на вкладке Recovery
диалога свойств службы.
Я знаю, что когда я изменяю значение флажка и Нажмите «Применить», в реестре ключ HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\<serviceName>\FailureActionsOnNonCrashFailures
изменяется на 0
или 1
.
. Однако, похоже, что что-то еще в системе должно меняться, потому что установка значения ключа реестра вручную недостаточно включить или отключить этот флажок в диалоговом интерфейсе, и недостаточно изменить значение, возвращаемое при запуске sc qfailureflag <servicename>
.
Даже при запуске sc failureflag <servicename> flag=1
или flag=0
не изменяется значение, возвращаемое sc qfailureflag <servicename>
, и не влияет на флажок в пользовательском интерфейсе, и, по-видимому, даже не изменяет значение этого ключа реестра, даже если установка или снятие флажка в пользовательском интерфейсе действительно изменяет значение этого ключа.
Единственный метод, который я могу найти, который, кажется, оказывает какое-либо влияние на то, действительно ли этот флаг «установлен» или нет, - это щелчок в пользовательском интерфейсе. Нажатие в пользовательском интерфейсе изменяет и ключ реестра, и значение, возвращаемое sc qfailureflag
Поскольку я пытаюсь написать сценарий конфигурации, который установит этот флаг автоматически, щелчок в пользовательском интерфейсе не вариант.
Если кто-нибудь знает, что еще меняется в системе для установки или отмены этого флага, я бы хотел знать, и если бы вы знали автоматизированный способ его установки, это было бы еще лучше. В идеале было бы неплохо сочетание PowerShell и C#, но, честно говоря, я бы согласился просто знать, что меняется в системе, которую я не вижу.