2013-03-06 91 views
0

我有一个返回AD组的用户是在列表的功能。如何获得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路径来指定我想查询的域。

我已经搜索了几个小时,可以找到任何指针(即使我确定答案在那里!)我真的很感谢这里的任何帮助。

+0

也许我错了,但是你只是想用参数替换'Environment.UserDomainName'吗? – StrubT 2013-03-06 14:44:11

+0

@StrubT它是那些日子之一!是的,这正是我应该做的!咄! :) – Fred 2013-03-06 15:53:18

回答

1

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

相关问题