2013-10-01 4 views
1

정보 (그룹 구성원)를 얻으려고합니다.Active Directory - 이상한 행동

내가 그룹을 얻기 위해 메시지 "도메인에 대한 정보를 검색 할 수 없습니다 (1355)"때마다

를 얻을, 그냥 2 번을 시도하는 것을 도왔다. 처음에는 작동하지 않지만 두 번째로 나에게 그룹이 생깁니다. 그러나 그룹 회원을 얻으려는 한 일은 없습니다.

 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