Неправильный вывод в PowerShell
$status_message = Get-HPiLoFirmwareversion -Server 172.16.2.210 -Username administrator -Password xxxx -DisableCertificateAuthentication -WarningAction SilentlyContinue |
Select-Object -Property STATUS_MESSAGE
if ($status_message -eq '@{STATUS_MESSAGE=OK}') {
Write-Host "Status OK"
exit 0
} else {
Write-Host "error"
exit 0
}
Write-Host $status_message
но я получаю следующий вывод:
@ {STATUS_MESSAGE = OK}
вместо просто "ОК".
$status_message = Get-HPiLoFirmwareversion -Server 172.16.2.210 -Username administrator -Password xxxxx -DisableCertificateAuthentication -WarningAction SilentlyContinue
Write-Host $status_message
дает:
IP: 172.16.2.210 Хозяин: STATUS_TYPE: ОК STATUS_MESSAGE: ОК FIRMWARE_DATE: 23 сентября 2016 г. FIRMWARE_VERSION: 2,50 LICENSE_TYPE: iLO Advanced MANAGEMENT_PROCESSOR: iLO4
Похоже, что командлет HP iLO, возможно, использует Write-Host
вывести их сообщение об ошибке, и это может быть проблемой.