我遇到问题-ErrorAction SilentlyContinue可以使用cmdlet' 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!!!!"}
答案 0 :(得分:13)
get实际上是由网关服务在DC上执行的,并且错误处理的工作方式并不完全相同。幸运的是Try / Catch确实有效:
Try { get-aduser "JSmith" }
Catch { write-host "This is an error!!!!" }
答案 1 :(得分:6)
mjolinor对显式过滤器的评价如下:
$Sam = "JSmith"
$userObj = get-aduser -filter {SamAccountName -eq $Sam} -erroraction silentlycontinue
如果找不到用户, $userObj
将为null。这允许代码在不使用try / catch的情况下解决未找到的条件。