2011-01-18 3 views
1

나는이 주제에 대해 설명하고 내 코드는 지금까지 무엇을하려고 오전 : I을 어떻게 CN =이 lastName firstName을 :이 코드Active Directory의 모든 사용자를 SharePoint 사이트의 드롭 다운 목록에 바인딩하는 방법은 무엇입니까?

DirectoryEntry directoryEntry = new DirectoryEntry("LDAP://myDomain/DC=somecollege, DC=someState, DC=edu", myUser, myPassword); 
DirectorySearcher directorySearcher = new DirectorySearcher(directoryEntry); 
directorySearcher.Filter = "(&(objectCategory=Person))"; 

SearchResultCollection searchResult = directorySearcher.FindAll(); 

foreach (SearchResult srUSers in searchResult) 
{ 
    DirectoryEntry de = srUsers.GetDirectoryEntry(); 
    lbSiteOwnerGroups.Items.Addd(New ListItem(de.Name.ToString())); 
} 

모든 사람이 드롭 다운에 바인딩됩니다하지만 형식은 이름 만 가져오고 "CN ="이 아니라면 여기서 문자열을 조작 할 필요가 없다고 가정합니다. 예를 들어 내가 de.Properties [ "메일"] 사용할 수 있습니다 본

<option value="LDAP://myDomain/CN=DOE John, OU=IT, OU=_someville_NonTeaching, OU=Staff_someville, DC=somecollege, DC=nsw, DC=edu,DC=au">LDAP://myDomain/CN=DOE John, OU=IT, OU=Staff_someville_NonTeaching, OU=Staff_someville, DC=somecollege, DC=fl, DC=edu,DC=com<option> 

ToString()하지만 나을 제공합니다

내가 de.Path.Tostring (과 시도 할 경우) 것 같습니다. 오류 "연산자가 오류를 반환했습니다." 이전에 AD로 일한 적이 없으며 AD 관리자와 연락을하면 실제 관리자의 질문에 대한 질문이있는 경우 어떤 질문을해야합니까?

또한 Staff라고하는 하위 도메인이나 하위 도메인이 있습니다.이 도메인에서만 사용자를 얻으려면 어떻게해야합니까?

미리 감사드립니다.

+0

그냥 경고 - 당신이 100 명 정도의 직원에 도달하면 드롭 다운 목록을 사용할 수 없으므로 OOTB 사용자 선택 도구가 드롭 다운을 사용하지 않는 이유입니다. – Ryan

답변

0

나는 다음 코드와 같이해야한다고 생각 : 나는 질문의 두 번째 부분을 보지 못했다

foreach (SearchResult srUsers in searchResult) 
{ 
    DirectoryEntry de = srUsers.GetDirectoryEntry(); 
    lbSiteOwnerGroups.Items.Add(new ListItem(de.Properties["CN"].Value.ToString())); 
} 

편집 할 수 있습니다. 자식 도메인의 사용자 만 원하는 경우 DirectorySearcher를 자식 도메인에 바인드 할 수 있습니다. 그래서, 대신

LDAP://myDomain/DC=somecollege, DC=someState, DC=edu 

을 사용하는 당신은 당신이 당신의 자식 도메인에 대한 올바른 LDAP 도메인 루트 경로를 찾을 필요가이

LDAP://childdomain.myDomain/DC=childdomain,DC=somecollege, DC=someState, DC=edu 

같은 것을 사용해야합니다. 이에 대한 도움이 필요하면 더 많은 정보를 게시 할 수 있습니다.

+0

안녕하세요 Harvey, 내 "[CN"] ToString()이 아니라 .Value.ToString()을 사용하여 내 첫 번째 문제를 해결할 것을 제안했습니다. 자식 도메인에서만 사용자를 얻는 방법을 알아낼 수 있는지 알아보고 작동하지 않는 경우 다시 질문을합니다. – peter

관련 문제