Wie kann ich Ausgabe von einem Powershell erhalten Warnung in v1.0 programmatisch Cmdlets?
-
24-09-2019 - |
Frage
Ich bin mit Powershell v1.0 (Es ist eine Anforderung, dass ich nicht 2.0 verwenden kann) und habe Probleme beim Versuch, programmatisch die Cmdlets Ausgabe in der Warnung Strom zu erfassen.
In Powershell 2.0 ist es einfach:
var powerShell = PowerShell.Create();
powerShell.AddCommand(someCommand);
powerShell.Invoke();
foreach (var warning in powerShell.Streams.Warning) { ... }
Allerdings ist die System.Management.Automation.PowerShell Klasse existiert nicht in Powershell, Version 1, und die Klassen, die existieren scheinen keinen Zugriff auf die Warnung Strom zu geben. Darüber hinaus bedeuten die Warnung Stream-Informationen nicht in der Standardausgabe aus dem Cmdlets sitzen.
Danke! Sam
Lösung
Sie können immer die Host-Schnittstelle implementieren ( benutzerdefinierte Host ) und dann Warnmeldungen erhalten direkt an Sie gesendet. Es ist kein Chip-Schuss, aber das einzige, was ich mir vorstellen für V1.0.