Я пытаюсь запустить скрипт powershell в моем приложении на С#. Сценарий powershell проверяет определенный компьютер каждые 0,5 секунды и отображает вывод до его завершения.
Я могу запустить скрипт и открыть его в powershell, но я хочу, чтобы вывод отображал результаты проверки LIVE в метке формы С# (или ritchtextBox, если это невозможно)
Вот код, который у меня сейчас есть, который запускает программу извне.
private void Btn_Ping_Click(object sender, EventArgs e)
{
ProcessStartInfo proc = new ProcessStartInfo();
proc.FileName =
@"C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe";
proc.Arguments =
@"//ctac.1800contacts.com/service/hd_image/tools/LatencyTest.bat " +
Txt_Main.Text.Trim();
Process.Start(proc);
richTextBox1.AppendText("Started pinging " + Txt_Main.Text +
"\r\n");
Txt_History.ScrollToCaret();
}
Я ожидаю, что код будет отображать выходные данные в моем приложении Windows Form, но не на самом деле подтянуть PowerShell. Это возможно?
Недавно я написал пару статей о кодах, которые показывают, как это сделать:
https://www.codeproject.com/Articles/18229/How-to-run-PowerShell-scripts-from-C и https://www.codeproject.com/Articles/18409/Asynchronously-Execute-PowerShell-Scripts- из-C