仅捕获使用New-QADUser cmdlet的活动目录用户已存在时发生的exception?

如果我只想在用户已经存在的情况下捕获exception,我应该捕获什么types的exception?

例如:

[UserAlreadyExistsException] trap{ #forget about it.... } [AnyOtherException] trap{ #PANIC! } $newUser = New-QADUser -name $line.UserID -ParentContainer 'OU=Symetra,DC=CI3DOMAIN,DC=local' -samAccountName $line.UserID -UserPassword 'p' -DisplayName $line.APPROVER -Department $line.Department -Description "$approver from $department" -ErrorAction SilentlyContinue 

更新!

我只是在这里通知,抛出的exception是system.DirectoryServices.DirectoryServicesComException

你可以像下面这样使用Try,Catch块。

 try { New-ADUser "FAKEACCOUNT" } catch [Microsoft.ActiveDirectory.Management.ADIdentityAlreadyExistsException] { #forget about it.... } catch { #PANIC! } 

注意:我并不积极,New-QADUser cmdlet引发同样的exception,但上面的代码适用于New-ADUser cmdlet。

此链接可能会帮助您解读您的具体情况: http : //blogs.msdn.com/b/adpowershell/archive/2009/03/25/error-reporting-in-active-directory-powershell.aspx

我使用这个函数来testingAD对象:

 function Test-QADObject { [CmdletBinding()] param( [Parameter(Position=0, Mandatory=$true)] [System.String] $Identity ) (Get-QADObject $Identity -DontUseDefaultIncludedProperties ` -WarningAction SilentlyContinue -ErrorAction SilentlyContinue ` -SizeLimit 1) -ne $null 

}

这是从这里,但我找不到直接的联系。