PowerShell高级函数中的错误处理

PowerShell高级函数中的错误处理,powershell,error-handling,Powershell,Error Handling,我正在尝试将错误处理添加到我的脚本中,这样无论谁运行它,都可以在运行后看到txt文件中的错误。 我知道我可以使用try,catch来捕获错误,但我的问题是,我有数百行脚本,一些cmdlet没有用于错误捕获的变量,如何捕获整个函数的错误并导出到txt文件以保存,必须通过每一行添加-erroraction stop并将其放入try块,catch块中有一个out file命令以发送到文件 谢谢当我需要登录时,我总是在catch块中抛出类似的内容: $ErrorName = $Error[0].exc

我正在尝试将错误处理添加到我的脚本中,这样无论谁运行它,都可以在运行后看到txt文件中的错误。 我知道我可以使用try,catch来捕获错误,但我的问题是,我有数百行脚本,一些cmdlet没有用于错误捕获的变量,如何捕获整个函数的错误并导出到txt文件以保存,必须通过每一行添加-erroraction stop并将其放入try块,catch块中有一个
out file
命令以发送到文件


谢谢

当我需要登录时,我总是在catch块中抛出类似的内容:

 $ErrorName = $Error[0].exception.GetType().fullname
 $ErrorDescription = $Error[0].exception.Message
 "Something went wrong gathering the account names. Cannot continue processing, a fatal error has occurred... `r`n $ErrorName `r`n $ErrorDescription `r`n SCRIPT TERMINATED `r`n " | Out-file -filepath $ErrorLog -append

你的意思是将-errorvariable添加到每一行代码中,并使用+errvar捕获它吗?我有285行代码,我应该如何尝试捕获这些代码?@Royston我有数千行的脚本,我在可能出现错误的地方使用try-catch块。另一个选项是$Error变量将所有错误捕获为数组格式,最新的总是[0]。我相信它在覆盖之前可以捕获多达256个错误,但这是可以修改的。从理论上讲,您可以将错误变量输出到日志文件,但我从未尝试过,并想象它会变得混乱。