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