Использование 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.
Заранее спасибо Любая помощь, идеи, мнения или мысли приветствуются.