Powershell:如何捕获PowerShell输出

时间:2012-04-30 10:03:23

标签: powershell powershell-v3.0

我有一组powershell脚本,可以从命令提示符调用。当前脚本返回成功或失败代码。

有时脚本中的某些powershell命令会引发错误。我想捕获所有输出(日志/消息/错误)。我发现我可以使用像

这样的命令

。\ test.ps1 2>& 1 | foreach-object {$ _。ToString()} | Out-File e:\ log.txt

虽然这个approch会记录错误消息,但以下是问题

  1. 它只记录错误消息,而不是从powershell控制台运行相同脚本时出现的行号。

  2. 现在PowerShell没有输出消息。我不想隐藏控制台和放大器的输出。想要PowerShell日志作为额外的东西。

  3. 我必须修改脚本调用命令。有没有任何可以运行的立刻工具&捕获powershell窗口上的输出。

2 个答案:

答案 0 :(得分:2)

刚刚找到Start-Transcript和Stop-Transcript命令。我们可以使用它来捕获文件的所有输出内容(错误/消息/信息等)。

答案 1 :(得分:2)

我会提到Start-Transcript作为一种很好的方式。

您还可以使用Get-History来查找您输入的命令。