Sto eseguendo uno script di test Powershell da un'applicazione C#. Lo script può fallire a causa di un cattivo cmdlet che provoca pipe.Invoke() per generare un'eccezione.Acquisizione di output Powershell in C# dopo Pipeline.Invoke genera
Sono in grado di acquisire tutte le informazioni necessarie sull'eccezione, ma mi piacerebbe poter visualizzare l'output dello script fino a quel punto. Non ho avuto fortuna perché i risultati sembrano essere nulli quando viene lanciata un'eccezione.
C'è qualcosa che mi manca? Grazie!
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?
}
Bello, esattamente quello che stavo cercando. Grazie. –