Die Erfassung Powershell-Ausgabe in C# nach der Pipeline.Invoke wirft

Bin ich mit einem Powershell test-Skript aus einem C# - Anwendung. Das Skript kann fehlschlagen, aufgrund einer schlechten cmdlet die Ursachen Rohr.Invoke() eine exception werfen.

Ich bin in der Lage, erfassen alle Informationen, die ich brauche über die Ausnahme, aber ich würde gerne in der Lage sein, um die Anzeige der Skript-Ausgabe bis zu diesem Punkt. Ich habe nicht hatte kein Glück, da die Ergebnisse wird zu null, wenn eine Ausnahme geworfen wird.

Gibt es etwas, was ich bin fehlt? Danke!

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

InformationsquelleAutor Nick A | 2009-08-05

Schreibe einen Kommentar