【发布时间】:2017-09-16 16:08:26
【问题描述】:
如果我正在编写一个二进制 PowerShell 模块并且我碰巧使用了一个写入 STDOUT (Console.Out) 的 .NET 库——有没有推荐的方法来重新路由控制台输出到PowerShell 的输出流?
我可以通过Console.SetOut(...) 设置我自己的TextWriter 来拦截Console.Out,然后用它做一些事情(即我可以用StringWriter 缓冲输出并在将来的某个时间将其全部写出来,或者我可以编写一个自定义TextWriter,将所有Write 命令发送到PowerShell 的WriteObject)。
我的问题是,是否已经有一些标准或推荐的做法来执行此操作或 PowerShell 库中的一些内置工具?
【问题讨论】:
-
我不这么认为。您所描述的(在 TextWriter 中包装 WriteObject() 并将其设置为 Console.Out)正是我所建议的
-
谢谢,这似乎也是 PS 团队的指导。
标签: powershell powershell-module