Получить значение действия сбоя службы Windows - PullRequest
0 голосов
/ 13 июня 2019

Необходимо получить действия при сбое, установленные для службы. приведенный ниже запрос PS, дающий неопределенное значение

get-itemproperty hklm:\system\currentcontrolset\services\<ServiceName> | select -Expand FailureActions

Мне нужно получить значение для полей «Первый сбой», «Второй сбой» и «Последующий сбой».

Результат для вышеупомянутого запроса PS подобен

0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
20
0
0
0
1
0
0
0
96
234
0
0
0
0
0
0
96
234
0
0
0
0
0
0
96
234
0
0

1 Ответ

1 голос
/ 13 июня 2019

Основываясь на отличном ответе здесь: Какой REG-BINARY установить для FailureAction для службы , здесь есть один вариант:

function Get-ServiceRecovery {

    Param($ServiceName)

    $failureActions = (Get-ItemProperty hklm:\system\currentcontrolset\services\$ServiceName).FailureActions

    $possibleActions = 'NoAction', 'RestartService','RestartComputer','RunProgram'

    [PsCustomObject]@{
        Service           = $ServiceName
        FirstFailure      = $possibleActions[$failureActions[20]]
        SecondFailure     = $possibleActions[$failureActions[28]]
        SubsequentFailure = $possibleActions[$failureActions[36]]
    }

}

Итак, вызов такой: Get-ServiceRecovery -ServiceName 'W32Time'дает вывод, как это:

Service FirstFailure   SecondFailure  SubsequentFailure
------- ------------   -------------  -----------------
W32Time RestartService RestartService NoAction         
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...