gpt4 book ai didi

powershell - 如何在控制台上显示PowerShell错误消息并将其写入日志?

转载 作者:行者123 更新时间:2023-12-03 01:02:22 24 4
gpt4 key购买 nike

在下面摘录的我正在使用的函数中,有4个对Tee-Object cmdlet的调用。前3个将消息根据需要写入控制台和日志。第四个使用Write-Error,它仅写入控制台。

# Run this step if the last step was successful...
if($script:BuildStepLastStatus -eq 0) {


Write-Output $("`n" + "-"*100) | Tee-Object -FilePath $script:BuildLogFileName -Append
Write-Output ("[{0:yyyy-MM-dd hh:mm:ss tt}]: Step {1}..." -f (Get-Date), $StepName) | Tee-Object -FilePath $script:BuildLogFileName -Append

try {
. $ScriptBlock | Tee-Object -FilePath $script:BuildLogFileName -Append
}
catch {

# Show the error details whether we will continue on error or not...
Write-Error "$($_)`n" | Tee-Object -FilePath $script:BuildLogFileName -Append

if($ContinueOnError.IsPresent) {
# 0 = success
$script:BuildStepLastStatus = 0
}
else {
# 1 = error condition
$script:BuildStepLastStatus = 1
}
}
}

如何修改此代码以将错误写入控制台和日志?

最佳答案

AFAIK,Tee-Object接受输出流中的内容,因此错误流中的错误将被忽略。您可以进行逆运算。

"$($_)`n" | Tee-Object -FilePath  $script:BuildLogFileName -Append | Write-Error

关于powershell - 如何在控制台上显示PowerShell错误消息并将其写入日志?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54175165/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com