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

¿Fue útil?

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top