0

我处于一个非常奇怪的 powershell 行为中。我有一个 If,elseif,else。If 有效, else if 有效,但 else 从未发生。

会是什么呢?

这是脚本:

$result = Get-AMTHardwareAsset $Computer -credential $VProCredential -textoutput
if ($result.Contains("Unauthorized") -eq $true)
    {
        Add-Results "$Computer`tHardwareAssets-Unauthorized"
    }
elseif ($result.Contains("Could not connect") -eq $true)
    {
        Add-Results "$Computer`tHardwareAssets-CannotConect"
    }

    else
    {
        Add-Results "TESTING"
    }
4

1 回答 1

0

将脚本更改为硬编码$result为“Fubar”,并替换Write-HostAdd-Results

$result = 'Fubar'; #Get-AMTHardwareAsset $Computer -credential $VProCredential -textoutput
if ($result.Contains("Unauthorized") -eq $true)
{
    #Add-Results "$Computer`tHardwareAssets-Unauthorized"
    Write-Host "$Computer`tHardwareAssets-Unauthorized"
}
elseif ($result.Contains("Could not connect") -eq $true)
{
    #Add-Results "$Computer`tHardwareAssets-CannotConect"
    Write-Host "$Computer`tHardwareAssets-CannotConect"
}

else
{
    #Add-Results "TESTING"
    Write-Host "TESTING"
}

我得到“测试”。

您未包含的某些上下文适用,如果没有它,您将得到的唯一答案是:看起来不错

于 2012-08-14T07:44:17.703 回答