Mein Fall:ErrorActionPreference und -ErrorAction SilentlyContinue für Get-PSSessionConfiguration
$ErrorActionPreference = "Stop";
"1 - $ErrorActionPreference;"
Get-ChildItem NoSuchFile.txt -ErrorAction SilentlyContinue;
"2 - $ErrorActionPreference;"
Get-ChildItem NoSuchFile.txt -ErrorAction Stop;
"3 - $ErrorActionPreference;"
Ausgang:
1 - Stop;
2 - Stopp; Jetzt
und eine Fehlermeldung ...
,
$ErrorActionPreference = "Stop";
"1 - $ErrorActionPreference;"
(Get-PSSessionConfiguration -Name "MyShellUri" -ErrorAction SilentlyContinue)
"2 - $ErrorActionPreference;"
Ausgang:
1 - Stop; einen Fehler
und anzuzeigen ...
Warum funktioniert nicht -ErrorAction SilentlyContinue) für Get-PSSessionConfiguration?
Update:
Jetzt
$ErrorActionPreference = "Continue"
"1 - $ErrorActionPreference;"
(Get-PSSessionConfiguration -Name "MyShellUri" -ErrorAction SilentlyContinue)
"2 - $ErrorActionPreference;"
Ausgang:
1 - Weiter;
2 - Fortfahren;
Jetzt
$ErrorActionPreference = "SilentlyContinue"
"1 - $ErrorActionPreference;"
(Get-PSSessionConfiguration -Name "MyShellUri" -ErrorAction SilentlyContinue)
"2 - $ErrorActionPreference;"
Ausgang:
1 - SilentlyContinue;
2 - SilentlyContinuue;
Dieses reference:
Die ErrorAction
allgegenwärtigen Parameter können verwendet werden, ohne Abbruch Fehler zum Schweigen zu bringen mit dem Parameterwert SilentlyContinue
und es kann verwendet werden, um Fehler zu Abschlussfehlern zu konvertieren Nicht-Einstellung des Parameterwerts mit Stop
. Es kann jedoch nicht helfen, Abbruchfehler zu ignorieren, und in diesem Fall gibt Stop-Transcript einen Abbruchfehler aus. Wenn Sie ignorieren möchten, verwenden Sie einen try/catch z.B .:
try { Stop-Transcript } catch {}
ich wusste nicht '-ErrorAction Stop' wird immer noch benötigt, um' catch' zu bekommen, um die Ausnahme zu bekommen: | – AceMark