4
다음 코드로 회사 LDAP 목록을 쿼리합니다. 문제는 전체 문자열을 씁니다. 문자열 파싱과 별도로 그룹 이름을 작성하는 쉬운 방법이 있습니까?Active Directory 그룹 열거 형
using System;
using System.Collections.Generic;
using System.DirectoryServices;
using System.Linq;
public class Test
{
public static void Main()
{
string userName = "USER";
DirectoryEntry directoryEntry = new DirectoryEntry("LDAP://dc=ABC,dc=com");
DirectorySearcher search = new DirectorySearcher();
search.Filter = String.Format("(cn={0})", userName);
search.PropertiesToLoad.Add("memberOf");
List<string> groupsList = new List<string>();
SearchResult result = search.FindOne();
if (result != null)
{
int groupCount = result.Properties["memberOf"].Count;
for (int counter = 0; counter < groupCount; counter++)
{
groupsList.Add((string)result.Properties["memberOf"][counter]);
}
}
List<string> list = new List<string>();
list = groupsList.ToList();
for (int i = 0; i < list.Count; i++)
{
Console.WriteLine(list[i]);
}
}
}
PrincipalCOntext는 내가 갖고 있지 않은 AccountManagement 네임 스페이스에 대한 액세스가 필요합니다. –
.Net 버전을 사용하고 있습니까? AccountManagement는 .Net 3.5입니다. 실수하지 않았다면. –
v4.0.30319를 사용 중입니다. –