我有一个通过 Exchange 命令行管理程序运行的 Powershell .ps1 脚本。在测试和编写脚本时,它运行良好。带有“-ErrorAction 'stop'”的 try 块中的 Cmdlet 在出错时正确地进入 catch 块。
但是,当脚本通过 Exchange 命令行管理程序运行时,错误不会正确地陷入困境。cmdlet 上的 -ErrorAction 也可能是“继续”,它们输出到屏幕并继续,就好像没有错误一样,因此根本不运行 catch 块。
为什么在 EMS 中运行的脚本无法正确捕获错误,而在 Powershell ISE 或常规 Powershell shell/CLI 中运行时它确实捕获了错误?