Como posso forçar a tarefa a parar se o programa chamado encontrar uma exceção?
Com base na lógica que você forneceu na sua pergunta, você poderia simplesmente colocar um intervalo dentro do Catch bloqueia para que o script pare de executar quando lança uma exceção.
Sintaxe de exemplo
try
{
$order_api = "http://dev-server.testserver.com/api/orderpipeline/Runfolder";
$order_response = Invoke-WebRequest -Uri $order_api -UseDefaultCredentials -ContentType "application/json" -Method Post -Body $jsonParams -TimeoutSec 10000;
}
catch
{
# Capture exception detail
$err_message = $_.Exception | format-list -force | Out-String;
$log_message = $PSCommandPath + "'r'n" + " Something went wrong trying to invoke web request api, exception follows: " + "'r'n" + $err_message;
# Write to application event log
New-EventLog –LogName Application –Source “Order pipeline Script”
Write-EventLog –LogName Application –Source “Order pipeline Script” –EntryType Error –EventID 1 –Message $log_message
break
}