【问题标题】:In PowerShell how to capture error, warning, write-host output into a single file?在 PowerShell 中,如何将错误、警告、写入主机输出捕获到单个文件中?
【发布时间】:2011-01-26 08:48:39
【问题描述】:

PowerShell 中如何将错误、警告、写入主机输出捕获到单个文件中?

当我执行外部命令/write-warning/write-error/write-host 时,我需要将所有信息捕获到一个文件中。

当我将写入错误重定向到日志文件时,它不会显示与控制台上显示的内容相同的内容。它将包含一些我不需要的其他信息。

是否可以在日志文件中使用 ERROR: 前缀错误,使用 WARN: 警告?

【问题讨论】:

    标签: powershell logging warnings


    【解决方案1】:

    看看 Oisin 的 PowerShell 2.0: A Configurable and Flexible Script Logger Module。应该可以在消息前加上您的自定义字符串('ERROR'、'WARN'、...)

    【讨论】:

      【解决方案2】:

      执行此操作的简单方法是使用 cmd.exe 例如:

      cmd /c powershell.exe -file <path_to_script> > script.log
      

      【讨论】:

        【解决方案3】:

        也许 Start-Transcript 和 Stop-Transcript 会做你想做的事。 (PowerShell 2.0)

        【讨论】:

        • Start-Transcript 将捕获那些其他流,但它不会捕获来自本机命令(控制台 exe)的任何输出。这对很多人来说是一个致命的缺陷。
        猜你喜欢
        • 2018-11-28
        • 1970-01-01
        • 1970-01-01
        • 2021-06-10
        • 1970-01-01
        • 2017-03-07
        • 2018-05-02
        • 2013-01-06
        • 1970-01-01
        相关资源
        最近更新 更多