我有一组powershell脚本,可以从命令提示符调用。当前脚本返回成功或失败代码。
有时脚本中的某些powershell命令会引发错误。我想捕获所有输出(日志/消息/错误)。我发现我可以使用像
这样的命令。\ test.ps1 2>& 1 | foreach-object {$ _。ToString()} | Out-File e:\ log.txt
虽然这个approch会记录错误消息,但以下是问题
它只记录错误消息,而不是从powershell控制台运行相同脚本时出现的行号。
现在PowerShell没有输出消息。我不想隐藏控制台和放大器的输出。想要PowerShell日志作为额外的东西。
我必须修改脚本调用命令。有没有任何可以运行的立刻工具&捕获powershell窗口上的输出。
答案 0 :(得分:2)
刚刚找到Start-Transcript和Stop-Transcript命令。我们可以使用它来捕获文件的所有输出内容(错误/消息/信息等)。
答案 1 :(得分:2)
我会提到Start-Transcript作为一种很好的方式。
您还可以使用Get-History来查找您输入的命令。