1
我有一个脚本模块,它的.psm1文件运行一个命令,如果某个注册表值不存在,该命令将会失败。我想忽略这个失败,因此名为.psm1脚本运行的命令:在开始工作初始化脚本中不会忽略的错误脚本
CommandThatMayFail -ea SilentlyContinue
当我导入模块中的PowerShell会话这一切正常。但是这个模块中的一个功能启动了一些PS作业,这也需要导入模块。当我在作业的InitializationScript中导入模块时,CommandThatMayFail发生的故障不会被忽略,作业将终止。我尝试在Try/Catch块中包装CommandThatMayFail,但这没有任何帮助。
我已经通过在作业的ScriptBlock中导入模块而不是InitializationScript来避免此问题。但我仍然对这里发生的事情感到好奇。任何人都可以摆脱光线吗?
陷阱没有比try/catch更好(正如我所预料的那样)。在我看来,如果在InitializationScript中发生任何非终止错误,PowerShell会使作业失败。 – OldFart 2010-11-01 15:53:38