J'ai une application VB (.NET 4.0) dans laquelle un utilisateur sélectionne un groupe AD qu'il possède, puis peut ajouter des utilisateurs d'une liste prédéfinie à ce groupe. Les groupes et tirés de AD et les utilisateurs sont tirés d'Oracle, mais sont tous les utilisateurs AD existants.Ajout d'un utilisateur AD à un groupe AD
Vous verrez trois blocs de code commentés, j'ai essayé tous les trois et obtenir "COMException a été non gérée par le code utilisateur: Erreur non spécifiée" avec chacun.
<WebMethod()> _
Public Shared Function AddDirectReport(ByVal User As String, ByVal Group As String) As String
Dim GroupMembers As List(Of String) = LoadGroupMembers(Group)
If GroupMembers.Contains(User) Then
Return "USER " & User & " IS ALREADY IN GROUP " & Group
End If
Dim SearchRoot As New DirectoryEntry("[LDAP Path]")
Dim GroupSearcher As New DirectorySearcher
With GroupSearcher
.SearchRoot = SearchRoot
.Filter = "(&(ObjectClass=Group)(CN=" & Group & "))"
End With
Dim UserSearcher As New DirectorySearcher
With UserSearcher
.SearchRoot = SearchRoot
.Filter = "(&(ObjectClass=Person)(CN=" & User & "))"
End With
Dim g As DirectoryEntry = GroupSearcher.FindOne.GetDirectoryEntry
Dim u As DirectoryEntry = UserSearcher.FindOne.GetDirectoryEntry
'With u
' .Properties("memberof").Add(g)
' .CommitChanges()
'End With
'With g
' .Properties("member").Add(u)
' .CommitChanges()
'End With
'With g
' .Properties("members").Add(u)
' .CommitChanges()
'End With
Return "Success?"
End Function
Presque, je devais utiliser 'u.Properties (« distinguishedName ») value' et cela a fonctionné. Merci! –