Estoy ejecutando un script de prueba Powershell desde una aplicación C#. El script puede fallar debido a un cmdlet incorrecto que hace que pipe.Invoke() arroje una excepción.Captura de la salida Powershell en C# después de Pipeline.Invoke throws
Soy capaz de capturar toda la información que necesito sobre la excepción, pero me gustaría poder mostrar la salida del script hasta ese punto. No he tenido suerte ya que los resultados parecen nulos cuando se lanza una excepción.
¿Hay algo que me falta? ¡Gracias!
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?
}
Bueno, exactamente lo que estaba buscando. Gracias. –