我的情况:
$ErrorActionPreference = "Stop";
"1 - $ErrorActionPreference;"
Get-ChildItem NoSuchFile.txt -ErrorAction SilentlyContinue;
"2 - $ErrorActionPreference;"
Get-ChildItem NoSuchFile.txt -ErrorAction Stop;
"3 - $ErrorActionPreference;"
输出:
1 - 停止;
2 - 停止;
并显示错误...
现在,
$ErrorActionPreference = "Stop";
"1 - $ErrorActionPreference;"
(Get-PSSessionConfiguration -Name "MyShellUri" -ErrorAction SilentlyContinue)
"2 - $ErrorActionPreference;"
输出:
1 - 停止;
并显示错误...
为什么 Get-PSSessionConfiguration 不起作用 -ErrorAction SilentlyContinue) ?
更新:
现在,
$ErrorActionPreference = "Continue"
"1 - $ErrorActionPreference;"
(Get-PSSessionConfiguration -Name "MyShellUri" -ErrorAction SilentlyContinue)
"2 - $ErrorActionPreference;"
输出:
1 - 继续;
2 - 继续;
现在,
$ErrorActionPreference = "SilentlyContinue"
"1 - $ErrorActionPreference;"
(Get-PSSessionConfiguration -Name "MyShellUri" -ErrorAction SilentlyContinue)
"2 - $ErrorActionPreference;"
输出:
1 - 静默继续;
2 - 静默继续;
这个参考:
ErrorAction
ubiquitous 参数可用于使用参数 value 使非终止错误静音,并可用于使用参数 value将SilentlyContinue
非终止错误转换为终止错误Stop
。但是,它不能帮助您忽略终止错误,在这种情况下,Stop-Transcript 会引发终止错误。如果您想忽略,请使用 try/catch 例如:
try { Stop-Transcript } catch {}