Tôi đang chạy tập lệnh thử Powershell từ ứng dụng C#. Kịch bản có thể thất bại do một lệnh ghép ngắn gây ra pipe.Invoke() để ném một ngoại lệ.Ghi lại đầu ra của Powershell trong C# sau khi đường ống dẫn.Invoke ném
Tôi có thể nắm bắt tất cả thông tin tôi cần về ngoại lệ, nhưng tôi muốn có thể hiển thị đầu ra của tập lệnh đến thời điểm đó. Tôi đã không có bất kỳ may mắn kể từ khi kết quả dường như là null khi một ngoại lệ được ném.
Có điều gì tôi thiếu không? Cảm ơn!
m_Runspace = RunspaceFactory.CreateRunspace();
m_Runspace.Open();
Pipeline pipe = m_Runspace.CreatePipeline();
pipe.Commands.AddScript(File.ReadAllText(ScriptFile));
pipe.Commands.Add("Out-String");
try {
results = pipe.Invoke();
}
catch (System.Exception)
{
m_Runspace.Close();
// How can I get to the Powershell output that comes before the exception?
}
Đẹp nhất, chính xác những gì tôi đang tìm kiếm. Cảm ơn. –