Мой случай:
$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 - Остановить,
и отобразить ошибку...
Почему не работает -ErrorAction SilentlyContinue) для Get-PSSessionConfiguration?
Update:
Теперь,
$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 - SilentlyContinue,
2 - SilentlyContinue;
Эта ссылка:
Вездесущий параметр ErrorAction
может использоваться для отключения ошибок без завершения с использованием значения параметра SilentlyContinue
и его можно использовать для преобразования ошибок без оканчивания в прерывание ошибок с использованием значения параметра Stop
. Однако это не поможет вам игнорировать завершающие ошибки, и в этом случае Stop-Transcript выдает завершающую ошибку. Если вы хотите игнорировать, используйте try/catch, например:
try { Stop-Transcript } catch {}