运行PowerShell时强制ErrorActionPreference?

时间:2012-11-16 14:35:31

标签: powershell powershell-v2.0

我们将PowerShell用于一些自动构建脚本。不幸的是,默认情况下,PowerShell会在出错后继续。

通常,我可以通过设置$ErrorActionPreference = Stop来更改此行为。

我看不到PowerShell.exe的相应命令行开关,我们(故意)用-noprofile运行命令,所以我不能把它放在那里。

如何为构建脚本执行此操作?

2 个答案:

答案 0 :(得分:2)

将它放在您正在运行的脚本的顶部?

$ErrorActionPreference = 'Stop'

或者,您也可以使用ErrorAction参数在cmdlet级别获得类似的控件。

答案 1 :(得分:2)

似乎没有办法设置:

powershell -erroractionpreference stop ...

以下方法可行:

powershell -command { $ErrorActionPreference = "stop"; .\test.ps1 } -noprofile

当然没有什么可以阻止脚本(重新)设置ErrorActionPreference。