Подтвердить что ты не робот

PowerShell -ErrorAction SilentlyContinue Не работает с Get-ADUser

У меня возникают проблемы с получением -ErrorAction SilentlyContinue для работы с командлетом Get-ADUser

Это не работает, ошибка отображается с или без -ErrorAction?

  get-aduser "JSmith" -ErrorVariable Err -ErrorAction SilentlyContinue
  if ($Err){write-host "This is an error!!!!"}

Это работает (ошибка не отображается и тихо продолжается в тех же условиях?

 get-childitem z: -ErrorVariable Err -ErrorAction SilentlyContinue
 if ($Err){write-host "This is an error!!!!"}
4b9b3361

Ответ 1

Получение фактически выполняется в DC службой шлюза, и обработка ошибок не работает совершенно одинаково. К счастью, Try/Catch работает:

Try { get-aduser "JSmith" } 
  Catch { write-host "This is an error!!!!" }

Ответ 2

Что mjolinor говорит о явном фильтре, это следующие работы:

$Sam = "JSmith"

$userObj = get-aduser -filter {SamAccountName -eq $Sam} -erroraction silentlycontinue

$userObj будет недействительным, если пользователь не будет найден. Это позволяет коду адресовать не найденное условие без использования try/catch.