0

私は非常に奇妙なパワーシェルの動作をしています。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

スクリプトを「Fubar」にハードコードするように変更し、次のように$result置き換えます。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"
}

そして、「TESTNG」を取得します。

含まれていないコンテキストがいくつか適用されます。それがなければ、得られる唯一の答えは次のとおりです。

于 2012-08-14T07:44:17.703 に答える