Apenas exceções que ocorrem quando um usuário do diretório ativo já existe usando o cmdlet New-QADUser?

1

Se eu quiser apenas interceptar uma exceção quando um usuário já existir, que tipo de exceção devo interceptar?

por exemplo:

 [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

Atualizar!

Acabei de ser notificado aqui de que a exceção gerada é system.DirectoryServices.DirectoryServicesComException

    
por leeand00 31.03.2011 / 20:15

2 respostas

1

Você pode usar o bloco Try, Catch como o seguinte.

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

Observação: não estou certo de que o cmdlet New-QADUser exiba a mesma exceção, mas o código acima funciona para o cmdlet New-ADUser.

Este link pode ajudá-lo a decifrar os detalhes da sua situação: link

    
por 31.03.2011 / 20:57
0

Eu uso essa função para testar objetos do AD:

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

}

É de aqui mas não consigo encontrar o link direto.

    
por 04.04.2011 / 20:01