如果脚本发出红色错误,如何记录事件日志?

时间:2015-10-15 06:27:44

标签: powershell powershell-v2.0

我想要做的是 - 在事件日志中记录一个事件 - 应用程序, 只有当预定的脚本在该会话中出现任何红色错误时...

我知道如何使用Write-EventLog记录它, 但是只有当它出现红色错误并说某些错误时才能限制它。

非常感谢您的回复!

1 个答案:

答案 0 :(得分:1)

一种方法是在状态之前清除$Error,然后检查是否发生了错误:

$Error.Clear()
Invoke-Something
if ($Error.Count -gt 0) {
  Write-EventLog ...
}

或者您可以将所有错误转换为terminating errors并使用try..catch声明:

$eap = $ErrorActionPreference
$ErrorActionPreference = 'Stop'
try {
  Invoke-Something
} catch {
  Write-EventLog ...
}
$ErrorActionPreference = $eap