Коды выхода PowerShell Graph-API - PullRequest
0 голосов
/ 10 июля 2020

Использование Graph.Api для безопасного входа в Azure DevOps. Мой код работает и выводит правильные результаты, проблема в том, что когда я использую планировщик задач для запуска задачи. Если ключ недействителен (я удаляю его, чтобы представить, что срок действия ключа истек), я пытаюсь поймать ошибку и отправить этот код ошибки в планировщик задач, который, в свою очередь, будет захвачен моим SolarWinds и отправит электронное письмо с кодом ошибки и причиной для этой ошибки.

Вот мой код

try {
Invoke-RestMethod -Uri "https://login.microsoftonline.com/$TenantName/oauth2/v2.0/token" -Method POST -Body $ReqTokenBody
}
catch {
    if ($_.Exception.Response.StatusCode -eq "401") {
        Write-Host "Status Code Equals 401" -ForegroundColor Red
        $LASTEXITCODE = 20
        exit $LASTEXITCODE
    }
    else {
        CONTINUE
    }
}

$TokenResponse = Invoke-RestMethod -Uri "https://login.microsoftonline.com/$TenantName/oauth2/v2.0/token" -Method POST -Body $ReqTokenBody
$TokenResponse
exit $LASTEXITCODE

Если я удалю ключ из azure, мой сценарий напишет красным цветом «Код состояния равен 401». С действующим ключом я получаю $ TokenResponse для печати в нижней части экрана без проблем.

Я пробовал это с помощью теста [bool], если оно ложно или истинно. Я попробовал это с помощью простой попытки. Я добавил оператор if, пытаясь заставить его не устанавливать $ LASTEXITCODE равным 0. Я попытался установить для $ LASTEXITCODE значение 0 непосредственно перед последним $ TokenResponse. Вместо того, чтобы возвращать 0, когда $ tokenReSponse работает, я всегда получаю код выхода 20.

Заранее спасибо Любая помощь, идеи, мнения или мысли приветствуются.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...