我需要帮助来捕获控制台屏幕上的输出消息或返回值,并将它们存储在变量中并在以后重用它们。我需要它来记录XMLA执行的结果和错误消息,尽管可以使用 $Error[0] 检索 Powershell 错误,但我想探索捕获控制台屏幕上显示的内容的可能性。我找到了 Start-Transcript,但写入 txt 文件似乎不太方便。提前致谢。
问问题
496 次
1 回答
2
如果您将其作为后台作业运行,则各种数据流的输出将保存在缓冲区中,您可以单独访问子作业的每个输出流:
$scriptblock = {
$VerbosePreference = 'Continue'
$DebugPreference = 'Continue'
Write-Output "This is output"
Write-Verbose "This is verbose"
Write-Warning "This is a Warning"
Write-Debug "This is Debug"
Write-Error "This is an Error"
}
$job = Start-Job -ScriptBlock $scriptblock
Wait-Job -Job $job
Receive-Job $job
$job.ChildJobs[0].Output
$job.ChildJobs[0].Verbose
$job.ChildJobs[0].Warning
$job.ChildJobs[0].Debug
$job.ChildJobs[0].Error
于 2013-11-12T12:10:37.760 回答