Wie kann der Build einer PowerShell-Task in TFS 2015 fehlschlagen?

Ich versuche, in einem PowerShell-Skript ein bestimmtes Ergebnis zu erzielen, aber der Erstellungsprozess funktioniert bei mir nicht. Ich verwende die neuen Build-Aktionen von TFS 2015 und habe die folgenden Optionen ausprobiert:

Logging-Befehleexit 1

Ich erhalte roten Text im Protokollfenster des Schritts sowie die Markierung "Issues" in der Build-Übersicht, aber das Build-Ergebnis ist immer noch grün: "Build succeeded".

Ich möchte den Fehler im Skript verwenden, um den Build fehlzuschlagen und somit eine E-Mail mit einer Warnung zu fehlgeschlagenen Builds zu senden.

Edit: einschließlich des PS-Skripts:

Param(
  [string]$url
)

if ($url -eq '')
{
    #use default value
    $url = 'https://myurl.com'
}

$req = [system.Net.WebRequest]::Create($url)
$req.Timeout = 60000 * 5 # = 5 minutes
try
{
    Write-Host "Try to get response from url:" $url
    $res = $req.GetResponse()
    Write-Host "Closing the connection"
    $req.Close() # close the connection
} 
catch [System.Net.WebException] 
{
    Write-Host "Got an exception"    
    Write-Host "##vso[task.logissue type=error;]Exception: " $_.Exception

    if ($_.response) # try to close the connection
    {
        $_.response.Close();    
    }
    $res = $_.Exception.Response
}
$printCode=[int]$res.StatusCode

Write-Host "Result StatusCode:" $res.StatusCode "(" $printCode ")"
If ([int]$res.StatusCode -eq 200)
{
    Write-Host "##vso[task.complete result=Succeeded;]Done"
}
Else
{
    Write-Host "##vso[task.logissue type=error;]Test error: " $res
    Write-Host "##vso[task.complete result=Failed;]Error testing if demo site is up"
    exit 1
}

Antworten auf die Frage(2)

Ihre Antwort auf die Frage