【问题标题】:Retrieve AD sAMAccountNames from memberOf property从 memberOf 属性中检索 AD sAMAccountNames
【发布时间】:2015-05-04 21:07:23
【问题描述】:

我们正在使用 DirectoryEntry 检索组成员身份详细信息。 memberOf 属性包含组成员的 cn。但是,我们的域中充满了 cn 与 sAMAccountName 不同的组。

我需要获取组成员的 sAMAccountNames 列表(包括通过作为成员的组的成员身份进行递归等)。现在我查找 memberOf 属性,存储 cn,然后进行第二次 LDAP 查询以获取具有这些 cns 的对象的 sAMAccountNames。

有没有更好的方法来做到这一点?

【问题讨论】:

    标签: c# active-directory ldap


    【解决方案1】:

    我不确定你是如何获得 CN,但是当我需要来自某个组的 SamAccountNames 时,我通常会写这样的内容,

    var samNames = new List<string>();
    using (var group = GroupPrincipal.FindByIndentity(principalContext, "GroupName"))
    {
         if (group != null)
         {
             var users = group.GetMembers(true);
             foreach (UserPrincipal user in users)
             {
                 samNames.add(user.SamAccountName);
             }
         }
    }
    

    【讨论】:

    • 代码当前使用 DirectoryEntry 进行搜索。我将像您一样将其重写为仅使用 GroupPrincipal 。应该会好很多。
    猜你喜欢
    • 1970-01-01
    • 2011-11-29
    • 2015-01-22
    • 2013-03-04
    • 1970-01-01
    • 2011-01-18
    • 1970-01-01
    • 2015-03-17
    • 1970-01-01
    相关资源
    最近更新 更多