PowerShell -ErrorAction SilentlyContinue不适用于Get-ADUser

use*_*140 14 powershell

我有问题-ErrorAction SilentlyContinue使用cmdlet'Get-ADUser'

这不起作用,错误显示有或没有-ErrorAction?

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

这是有效的(在相同的条件下,没有错误显示并默默地继续?

 get-childitem z: -ErrorVariable Err -ErrorAction SilentlyContinue
 if ($Err){write-host "This is an error!!!!"}
Run Code Online (Sandbox Code Playgroud)

mjo*_*nor 15

get实际上是由网关服务在DC上执行的,并且错误处理不起作用.幸运的是Try/Catch确实有效:

Try { get-aduser "JSmith" } 
  Catch { write-host "This is an error!!!!" }
Run Code Online (Sandbox Code Playgroud)


小智 8

mjolinor对显式过滤器的评价如下:

$Sam = "JSmith"

$userObj = get-aduser -filter {SamAccountName -eq $Sam} -erroraction silentlycontinue
Run Code Online (Sandbox Code Playgroud)

$userObj如果找不到用户,则为null.这允许代码在不使用try/catch的情况下解决未找到的条件.