При вызове внешних программ из PowerShell вы можете использовать командлет Start-Process
, чтобы получить некоторый контроль над ним. Вы можете оценить код выхода, например. Более того, вы получаете доступ к его стандартному выходному потоку и - я думаю, что это более важно для вас - к его стандартному потоку ошибок. Если вы называете curl следующим образом:
Start-Process curl -ArgumentList "-0 -v --cert $cert --key $key --cacert $cacert GET $URIString" -Wait -RedirectStandardOutput $env:USERPROFILE\Desktop\stdout.txt -RedirectStandardError $env:USERPROFILE\Desktop\stderr.txt
, вы можете впоследствии оценить оба потока, stdout
и stderr
.
Если вы также хотите проверить код выхода, вы можете позвонить завиток так:
$process = Start-Process curl -ArgumentList "-0 -v --cert $cert --key $key --cacert $cacert GET $URIString" -Wait -RedirectStandardOutput $env:USERPROFILE\Desktop\stdout.txt -RedirectStandardError $env:USERPROFILE\Desktop\stderr.txt -PassThru
Write-Host "Exit code: $($process.ExitCode)"