DirectoryEntry 클래스를 사용 중입니다.C#, DirectoryEntry에서 OU 액세스 가능성을 확인하는 방법?
특정 OU 및 하위 OU에서 모든 사용자를 읽으려고합니다.
다음 코드는 하위 OU의 일부가 현재 사용자에 대한 읽기로부터 보호
using(DirectoryEntry dEntry = new DirectoryEntry(dn))
using(DirectorySearcher dSearcher = new DirectorySearcher(dEntry))
{
dSearcher.SearchScope = SearchScope.Subtree;
dSearcher.Filter = "(&(objectClass=user) (objectCategory=person))";
foreach(SearchResult in dSearcher.FindAll())
{
//Do something...
}
}
태스크의 일부입니다. 그리고 "하나 이상의 오류 accured"작업 예외가 발생했습니다 OU에 액세스 할 수 있는지 확인하고 건너 뛰는 방법을 찾고 있어요. 그리고 해당 OU를 기록하십시오.
public void GetOu(List<MyUser> list, string path)
{
using (DirectoryEntry dEntry = new DirectoryEntry(path))
using(DirectorySearcher dSearcher = new DirectorySearcher(dEntry))
{
dSearcher.SearcherScope = SearchScope.Subtree;
dSearcher.Filter = "(objectClass=organizationalUnit)";
foreach(SearchResult result in dSearcher.FindAll())
{
GetUsersFromOU(list,result.GetDirectoryEntry());
}
}
}
public void GetUsersFromOU(List<MyUser> list,DirectoryEntry ou)
{
using (DirectorySearcher dSearcher = new DirectorySearcher(ou);
dSearcher.SearchScope = SearchScope.OneLevel;
dSearcher.Filter = "(&(objectClass=user)(objectCategory=person))";
foreach (Search result in dSearcher.FindAll())
{
//Do something.... update list...
}
}
지금 예외를 얻을 접근 OU를하지 건너 뜁니다 : 나는 다음 시도했다. 1. "잘못된 ou"가 무엇인지 찾을 수 없습니다. 2. 실행 시간이 깁니다 ...
액세스 할 수 없다는 것은 무엇을 의미합니까? 존재하지 않는다는 뜻입니까? – w0051977