PowerShell, поток вывода процесса и ошибки при запуске внешнего процесса

Я использую сценарий PowerShell для запуска консольного приложения, и я пытаюсь перенаправить стандартный вывод и стандартную ошибку оттуда. Я использую следующий код:

$ProcessInfo = New-Object System.Diagnostics.ProcessStartInfo 
$ProcessInfo.FileName = "myExe.exe"
$ProcessInfo.Arguments = "bla bla bla"
$ProcessInfo.RedirectStandardError = $true 
$ProcessInfo.RedirectStandardOutput = $true 
$ProcessInfo.UseShellExecute = $false 
$Process = New-Object System.Diagnostics.Process 
$Process.StartInfo = $ProcessInfo 

$Process.Start() | Out-Null 
$output = $Process.StandardOutput.ReadToEnd() 
$errors = $Process.StandardError.ReadToEnd()
$Process.WaitForExit() 
$output 
$errors 

return $Process.ExitCode

Пока все хорошо, если у меня есть ошибка, я вижу, что она перенаправлена ​​в консоль PowerShell, и если у меня есть вывод, она также перенаправляется. Проблема в том, что этот процесс занимает 10 минут, а пока мы понятия не имеем, что происходит.

Есть ли способ в PowerShell, я могупоток содержание вывода и ошибки во время выполнения процесса? В чистом .NET мы можем подписаться на события класса Process, могу ли я сделать то же самое в PowerShell?

Ответы на вопрос(1)

Ваш ответ на вопрос