¿Cómo puedo aviso de salida de un cmdlet de PowerShell mediante programación en v1.0?
-
24-09-2019 - |
Pregunta
Estoy usando PowerShell v1.0 (Es un requisito que no puedo usar 2.0) y estoy teniendo problemas para tratar de captar mediante programación la salida de cmdlet en la corriente de advertencia.
En PowerShell 2.0 es fácil:
var powerShell = PowerShell.Create();
powerShell.AddCommand(someCommand);
powerShell.Invoke();
foreach (var warning in powerShell.Streams.Warning) { ... }
Sin embargo, la clase System.Management.Automation.PowerShell no existe en PowerShell versión 1, y no parece que las clases que existen para dar acceso al flujo de advertencia. Además, la información del flujo de advertencia no se sienta en la salida estándar del cmdlet.
Gracias! Sam
Solución
Siempre se puede implementar la interfaz de host ( host personalizado ) y luego los mensajes de advertencia serán enviadas directamente a usted. No es un chip de disparo y lo único que se le ocurre a V1.0.