La capture de Powershell sortie en C# après Pipeline.Invoquer jette

Je suis à court d'un Powershell script de test à partir d'une application en C#. Le script peut échouer en raison d'une mauvaise applet de commande qui provoque la pipe.Invoke() lève une exception.

Je suis capable de capturer toutes les informations dont j'ai besoin à propos de l'exception, mais je voudrais être en mesure d'afficher le script de sortie jusqu'à ce point. Je n'ai pas eu de chance, car les résultats semble être null lorsqu'une exception est levée.

Est-il quelque chose que je suis absent? Merci!

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?
}

OriginalL'auteur Nick A | 2009-08-05