【发布时间】:2020-04-26 04:45:53
【问题描述】:
我正在寻找相当于运行作业时的 PowerShell 管道重定向 *>&1。
我大致这样运行作业:
$Instance = [PowerShell]::Create()
$Instance.AddScript($CommandList)
$Result = $Instance.BeginInvoke()
$Instance.EndInvoke($Result)
问题是输出被分成多个流,要报告它我必须这样做:
$Instance.Streams.Debug
$Instance.Streams.Error
$Instance.Streams.Information
这会按类型对消息进行分组,而不是将它们交错排列,这样就没有很好的方法来判断在执行过程中哪里抛出了给定的错误。如果将它们组合在一起,错误将立即出现在相关的 Write-Host 语句之后。
似乎有 5 个流(调试、错误、信息、进度、详细和警告),我想将它们全部结合起来,尽管简单地结合错误和信息将是向前迈出的一大步。
我环顾 $Instance 对象,并试图在 InitialSessionState 下找到一些东西以传递给 Create(),但没有任何明显的表现。
【问题讨论】:
标签: powershell task runspace