Попытка сделать скрипт только отправляет сообщение командам, если возвращено определенное значение - PullRequest
0 голосов
/ 04 октября 2019

Я могу войти в систему, получить токен API с сервера и вернуть значения, которые я ищу. Чего я не смог сделать, так это заставить скрипт писать на хост, только если возвращаемое значение НЕ «Основное».

Я пока не совсем отправляю предупреждение командам MS, поскольку я строю этот модульный модуль по ходу работы.

В данный момент код всегда пишет "сбой" хосту, независимо от того,установленного мной значения. Первоначально я поместил простой оператор If -not match в функцию CAStatus, но я не хочу строить свою функцию оповещения в функции, которую я использую для получения статуса сервера

#Use login token to pull CA system status
Function CAStatus {
#URL and logon token in header
$system_summary_uri ="https://website.com"
$header_parameters = @{"Authorization" = CALogon}

#Get Summary info from primary CA server and only return its role 
(Primary or DR)
$summary_query = Invoke-RestMethod -Uri $system_summary_uri -Method Get - 
Headers $header_parameters -ContentType "application/json"
$summary_result = $summary_query.Vaults.Role[0]
return $summary_result
}

#Report if primary server fails
Function Notify {
if (CAStatus -eq "dr") {
    Write-Host "fail"
}
}

castatus

Я ожидаю вывода«fail» только тогда, когда значение, возвращаемое вызовом API CAStatus, равно «DR». В противном случае я хочу, чтобы он ничего не делал.

Прямо сейчас, когда я запускаю CAStatus, я получаю возвращаемое значение "Primary", которое является правильным, поскольку сервер в настоящее время играет главную роль. Хост не должен выводить ничего, поскольку CAStatus не равен «dr», но все равно выдает «fail».

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