2017-09-16 109 views
2

如果我正在編寫一個二進制PowerShell模塊,並且恰好使用寫入STDOUT的.NET庫(Console.Out) - 是否有推薦的方法來重新路由控制檯輸出到PowerShell的輸出流?如何將控制檯輸出重定向到模塊內的PowerShell輸出?

我可以通過設置攔截Console.OutTextWriter通過Console.SetOut(...),然後我自己做它(即我可以緩衝帶StringWriter輸出,這一切寫出來,在未來的某個時刻,或者我可以寫一個自定義TextWriter東西將所有Write命令發送到PowerShell的WriteObject)。

我的問題是真的,有沒有一些標準或建議的做法,這樣做或PowerShell庫中的一些內置工具?

+3

我不這麼認爲。你所描述的(在TextWriter中包裝WriteObject()並將其設置爲Console.Out)正是我所建議的 –

+0

謝謝,這似乎也是PS團隊的指導。 –

回答

0

如果要輸出到管道使用WriteObject()WriteInformation()WriteDebug(),WriteWarning()獲取到主機的消息(字符串)。

+0

是的,這適用於我控制的內容,但問題的關鍵是如何重定向轉到STDIO輸出的其他輸出?在任何情況下,解決方案都得到了PS團隊的確認 - 您只需自己做重定向。 –

相關問題