ErrorActionPreference y ErrorAction SilentlyContinue para Get-PSSessionConfiguration

Mi caso:

$ErrorActionPreference = "Stop";
"1 - $ErrorActionPreference;"
Get-ChildItem NoSuchFile.txt -ErrorAction SilentlyContinue;
"2 - $ErrorActionPreference;"
Get-ChildItem NoSuchFile.txt -ErrorAction Stop;
"3 - $ErrorActionPreference;"

Salida:

1 - Detente;
2 - Detente;
y mostrar un error ...

Ahora,

$ErrorActionPreference = "Stop";
"1 - $ErrorActionPreference;"
(Get-PSSessionConfiguration -Name "MyShellUri" -ErrorAction SilentlyContinue)
"2 - $ErrorActionPreference;"

Salida:

1 - Detente;
y mostrar un error ...

¿Por qué no funciona -ErrorAction SilentlyContinue) para Get-PSSessionConfiguration?

Actualizar:

Ahora,

$ErrorActionPreference = "Continue"
"1 - $ErrorActionPreference;"
(Get-PSSessionConfiguration -Name "MyShellUri" -ErrorAction SilentlyContinue)
"2 - $ErrorActionPreference;"

Salida:

1 - Continuar;
2 - Continuar;

Ahora,

$ErrorActionPreference = "SilentlyContinue"
"1 - $ErrorActionPreference;"
(Get-PSSessionConfiguration -Name "MyShellUri" -ErrorAction SilentlyContinue)
"2 - $ErrorActionPreference;"

Salida:

1 - SilencioContinuar;
2 - SilencioContinuar;

Estareferencia:

losErrorAction Se puede usar un parámetro ubicuo para silenciar errores no terminados usando el valor del parámetroSilentlyContinue y se puede usar para convertir errores no terminados en errores terminados usando el valor del parámetroStop. Sin embargo, no puede ayudarle a ignorar los errores de terminación y, en este caso, Stop-Transcript está generando un error de terminación. Si desea ignorar, use try / catch, por ejemplo:

try { Stop-Transcript } catch {}

Respuestas a la pregunta(3)

Su respuesta a la pregunta