我编写了以下内容来执行许多PowerShell
脚本并将结果附加到日志文件中。目前只有两个例子,但它最终将包含二十多个。
$LogFileLocation="G:\ReportTesting\"
."G:\Powershell\PowershellFunctions.ps1"
$ScriptPath = Split-Path $MyInvocation.InvocationName
$ErrorActionPreference = "SilentlyContinue"
$error.clear()
try
{
& "$ScriptPath\large_gains.ps1"
}
catch
{
Log-File-Append ("$((Get-Date).ToString('yyyy-MM-dd HH:mm:ss')) ERROR: Large_Gains report execution failed")
}
if (!$error)
{
Log-File-Append ("$((Get-Date).ToString('yyyy-MM-dd HH:mm:ss')) INFO: Large_Gains report execution succesfully completed")
}
$error.clear()
try
{
& "$ScriptPath\large_losses.ps1"
}
catch
{
Log-File-Append ("$((Get-Date).ToString('yyyy-MM-dd HH:mm:ss')) ERROR: Large_Losses report execution failed")
}
if (!$error)
{
Log-File-Append ("$((Get-Date).ToString('yyyy-MM-dd HH:mm:ss')) INFO: Large_Losses report execution succesfully completed")
}
问题是底层脚本非常大并且会抛出各种非终止错误。这导致每个脚本完成,但日志文件附加了错误消息。
有没有办法只捕获实际停止脚本完成的错误?
答案 0 :(得分:0)
你只需要改变其他脚本抛出的错误类型。试试这个以获取更多错误信息