J'utilise PowerShell v1.0 (c'est une exigence que je ne peux pas utiliser 2.0) et j'ai du mal à essayer de capturer par programme la sortie de la cmdlet dans le flux d'avertissement.Comment puis-je obtenir une sortie d'avertissement à partir d'une applet de commande PowerShell dans la version 1.0?
En Powershell 2.0, il est facile:
var powerShell = PowerShell.Create();
powerShell.AddCommand(someCommand);
powerShell.Invoke();
foreach (var warning in powerShell.Streams.Warning) { ... }
Cependant, la classe System.Management.Automation.PowerShell n'existe pas dans la version PowerShell 1, et les classes qui existent ne semblent pas donner accès au flux d'alerte. En outre, les informations du flux d'avertissement ne figurent pas dans la sortie standard de la cmdlet.
Merci! Sam
Très bien, merci - c'est une bonne solution. En utilisant un hôte et une interface utilisateur personnalisés, je peux enregistrer les avertissements lorsque WriteWarningLine (message) est appelé sur PSHostUserInterface. – Sam