首页 > 解决方案 > 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 : 2016 年 9 月 23 日
固件版本:2.50
LICENSE_TYPE:iLO 高级
MANAGEMENT_PROCESSOR:iLO4

看起来 HP iLO cmdlet 可能正在使用 aWrite-Host来输出错误消息,这可能是问题所在。

标签: powershellif-statementoutputwrite-host

解决方案


推荐阅读