首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将AD用户添加到AD组

将AD用户添加到AD组
EN

Stack Overflow用户
提问于 2012-12-25 01:32:58
回答 1查看 4.5K关注 0票数 2

我有一个VB应用程序(.NET 4.0),用户可以选择他们自己的AD组,然后可以从预定义的列表中添加用户到该组。从AD中提取的组和从Oracle中提取的用户都是现有的AD用户。

您将看到三个注释代码块,我已经尝试了所有这三个代码块,并且每个代码都得到了"COMException未被用户代码处理:未指明的错误“。

代码语言:javascript
运行
复制
<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
EN

Stack Overflow用户

回答已采纳

发布于 2012-12-25 01:56:42

This是一个很好的资源。

在它里面,你会发现你的第二个几乎就在那里。您需要的不是将DirectoryEntry传递给add方法,而是它的可分辨名称:

代码语言:javascript
运行
复制
With g
    .Properties("member").Add(u.Properties("distinguishedName").Value)
    .CommitChanges()
End With
票数 2
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14024160

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档