如何获取用户的AD组,请参见指定用户名和域

本文关键字:用户 何获取 获取 AD | 更新日期: 2023-09-27 18:02:47

我有一个函数,返回用户所在的AD组列表。

    public static List<string> GetGroupNames(string userName)
    {
        using (var context = new PrincipalContext(ContextType.Domain, Environment.UserDomainName))
        {
            using (var userPrincipal = UserPrincipal.FindByIdentity(context, userName))
            {
                var groupSearch = userPrincipal.GetGroups(context);
                var result = new List<string>();
                groupSearch.ToList().ForEach(sr => result.Add(sr.SamAccountName));
                return result;
            }
        }
    }

这是我所期望的工作。我想更新这个函数,这样我就可以传递一个LDAP路径来指定我想要查询的域。

我已经搜索了几个小时,可以找到任何指针(即使我确信答案是在某个地方!)

如何获取用户的AD组,请参见指定用户名和域

您可以添加一个新参数,例如string domainName,并将其传递给new PrincipalContext()而不是Environment.UserDomainName