我最近在阅读关于不在 PowerShell 中使用 Write-Host 的原因,所以我开始使用 Write-Verbose、Write-Warning 和 Write-Output ......但是我得到的输出有一些问题从写错误。
这是一个在脚本中使用它的简单示例。
1..5 | foreach{
if ($_ -eq 5){
Write-Error "Invalid result"
}
}
当错误出现时,我得到以下信息。
1..5 | foreach{
if ($_ -eq 5){
Write-Error "Invalid result"
}
} : Invalid result
+ CategoryInfo : NotSpecified: (:) [Write-Error], WriteErrorException
+ FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException
我不明白为什么它会显示错误上方的所有代码。它只会使屏幕上的输出看起来非常混乱,尤其是在长脚本中。例如我目前正在开发一个脚本来自动化我们的用户创建、修改、禁用和删除过程,它有几百行,所以如果我想写一个非终止错误,我不想看到上面的整个代码....这只是愚蠢的。
有什么建议么。我考虑过使用写警告,但它确实是我想要显示的非终止错误......所以我正在尝试使用最佳实践。
谢谢,