2013-10-01 33 views
1

我试图获取信息(组的成员)。活动目录 - 奇怪的行为

每次都遇到消息“关于域的信息不能被检索(1355)”时间

对于获得团体,它有助于尝试它只是2倍。第一次不行,但第二次给我带来了团体。但对于得到一个组的成员,我没有工作aroung。

 PrincipalContext ctx = new PrincipalContext(ContextType.Domain, "192.168.178.105:3268", "DC=ibcdev,DC=local", ContextOptions.Negotiate, "Administrator", "123"); 
     // define a "query-by-example" principal - here, we search for a GroupPrincipal 
     GroupPrincipal qbeGroup = new GroupPrincipal(ctx); 

     // create your principal searcher passing in the QBE principal  
     PrincipalSearcher srch = new PrincipalSearcher(qbeGroup); 

     // find all matches 
     try 
     { 
      var re2s = srch.FindAll().ToList(); 
     } 
     catch (Exception) 
     { 
     } 
     var res = srch.FindAll(); 
     foreach (Principal found in res) 
     { 
      Console.WriteLine(found.SamAccountName); 
      var group = GroupPrincipal.FindByIdentity(ctx, found.Name); 
      foreach (var user in group.Members) 
      { 
       Console.WriteLine(user.SamAccountName); 
      } 
     } 

有人知道我在做什么错吗?

问候

回答

0

这是我使用的域中找到组成员:

public List<String> GetIDs(string domainName, string groupName) 
{ 
    using(PrincipalContext ctx = new PrincipalContext(ContextType.Domain, domainName)) 
    using(GroupPrincipal grp = GroupPrincipal.FindByIdentity(ctx, IdentityType.Name, groupName)) 
     return (from x in grp.GetMembers(true).AsParallel() select x.SamAccountName).ToList(); 
} 
+0

谢谢你,我会尝试。 – float