My case:
$ErrorActionPreference = "Stop";
"1 - $ErrorActionPreference;"
Get-ChildItem NoSuchFile.txt -ErrorAction SilentlyContinue;
"2 - $ErrorActionPreference;"
Get-ChildItem NoSuchFile.txt -ErrorAction Stop;
"3 - $ErrorActionPreference;"
Output:
1 - Stop;
2 - Stop;
and display an error...
Now,
$ErrorActionPreference = "Stop";
"1 - $ErrorActionPreference;"
(Get-PSSessionConfiguration -Name "MyShellUri" -ErrorAction SilentlyContinue)
"2 - $ErrorActionPreference;"
Output:
1 - Stop;
and display an error...
Why doesn't work -ErrorAction SilentlyContinue) for Get-PSSessionConfiguration ?
Update:
Now,
$ErrorActionPreference = "Continue"
"1 - $ErrorActionPreference;"
(Get-PSSessionConfiguration -Name "MyShellUri" -ErrorAction SilentlyContinue)
"2 - $ErrorActionPreference;"
Output:
1 - Continue;
2 - Continue;
Now,
$ErrorActionPreference = "SilentlyContinue"
"1 - $ErrorActionPreference;"
(Get-PSSessionConfiguration -Name "MyShellUri" -ErrorAction SilentlyContinue)
"2 - $ErrorActionPreference;"
Output:
1 - SilentlyContinue;
2 - SilentlyContinue;
This reference:
The ErrorAction
ubiquitous parameter can be used to silence non-terminating errors using the parameter value SilentlyContinue
and it can be used to convert non-terminating errors to terminating errors using the parameter value Stop
. However it can't help you ignore terminating errors and in this case Stop-Transcript is throwing a terminating error. If you want to ignore, use a try/catch e.g.:
try { Stop-Transcript } catch {}
This question is related to
powershell
error-handling
silent
It looks like that's an "unhandled exception", meaning the cmdlet itself hasn't been coded to recognize and handle that exception. It blew up without ever getting to run it's internal error handling, so the -ErrorAction setting on the cmdlet never came into play.
Can't you use the classical 2>
redirection operator.
(Get-PSSessionConfiguration -Name "MyShellUri" -ErrorAction SilentlyContinue) 2> $NULL
if(!$?){
'foo'
}
I don't like errors so I avoid them at all costs.
Source: Stackoverflow.com