2010-09-22 5 views
1

J'ai une fonction qui fonctionne parfaitement lorsque j'essaie d'ajouter un utilisateur du même domaine dans un groupe du même domaine.Ajout d'un utilisateur de sous-domaine Active Directory au groupe de domaine principal

Function AddUserToGroup(ByVal strUserDN As String, ByVal strGroupDN As String, ByVal strGRPDC As String, ByVal strUserDC As String) As Boolean 
    Dim oUser As DirectoryEntry 
    Dim oGroup As DirectoryEntry 
    Dim blnStatus As Boolean 
    Try 
     oUser = New DirectoryEntry("LDAP://" & strUserDN) 
     oGroup = New DirectoryEntry("LDAP://" & strGroupDN) 
     oGroup.Invoke("Add", oUser.Path.ToString) 
     oGroup.CommitChanges() 
     blnStatus = True 
    Catch ex As Exception 
       //catch error...send email to support 
    End Try 
    oUser = Nothing 
    oGroup = Nothing 
    Return blnStatus 
End Function 

Ce que je dois pouvoir faire est d'ajouter un utilisateur d'un sous-domaine à ce groupe de domaine principal. Par exemple:

domaine principal: geo.com Sous domaine: customer.geo.com

J'ai un utilisateur: Homer Simpson qui est membre du domaine customer.geo.com. Je souhaite ajouter cet utilisateur à un groupe dans le domaine geo.com. Je passe le bon plein ADsPath mais toujours le message d'erreur non utile:

User: WACUSTDC2/CN=Simpson\, Homer,OU=Geo Test OU,OU=Customers,DC=customer,DC=geo,DC=com 
Group: wadc4/CN=QSGEOTESTOU_RW,OU=Permission Groups,OU=Resources,DC=geo,DC=com 
Error: Exception has been thrown by the target of an invocation. 

L'erreur est effectivement jeté sur la ligne d'appel, mais comme je l'ai dit plus tôt, si l'utilisateur est dans le même domaine, ce fonctionne parfaitement.

Toutes pensées ou suggestions sont grandement appréciées.

Geo ...

Répondre

0

Vous comptez sur la méthode IADsGroup.Add. La syntaxe correcte serait (je pense - je suis un utilisateur C#):

oGroup.Invoke("Add", new object[] { oUser.Path } 

Vous devez également vérifier si elle est déjà membre du groupe parce que vous obtiendrez une erreur si elle est.

Questions connexes