DirSync control을 설정하려고합니다. 이전에는 System.DirectoryServices.Protocols에서 찾은 메소드를 [성공적으로] 사용했지만 반환 된 결과는 부분 객체였습니다. 정의 된 경우에도 homeDrive 속성을 반환 할 수 없었습니다. SearchRequest의 Attributes 속성에 있습니다.S.DS로 DirSync를 시도 할 때 '액세스가 거부되었습니다'
따라서 System.DirectoryServices를 사용하여 some of the documentation 및 examples 다음에 DirSync를 설정하려고합니다. 나는 (IP 만 액세스) 내 테스트 서버에 연결에 성공, 나는 같은 하나의 OU를 대상으로하고 사용자 검색의 성공 :
그러나byte[] cookie = null;
root = new DirectoryEntry(
"LDAP://[MyIPHere]/OU=test ou,DC=company,DC=com", "username", "password");
//Section A - Use this section for a regular search
DirectorySearcher src = new DirectorySearcher(root);
src.SearchScope = SearchScope.Subtree;
src.Filter = "(&(objectClass=user)(sAMAccountName=myuserhere)";
//Section B - Use this section for a DirSync
//src.DirectorySynchronization = new DirectorySynchronization(
DirectorySynchronizationOptions.IncrementalValues, cookie);
//src.Filter = "(&(objectCategory=person)(objectClass=user))";
//Execute the code whichever section is used
SearchResultCollection result = src.FindAll();
int count = result.Count;
Console.WriteLine(count.ToString());
foreach (SearchResult res in result)
{
//do things
}
, 나는 섹션 B를 사용하려고 섹션 A 대신에, 내가 int 카운트을 설정하고있는 라인에서 에러를 얻는다.
COMException는 액세스가 거부 처리되지 않은
했다 : (나는 예를 들어, 같은 결과에서와 같이 src.DirectorySynchronization의 생성자에 매개 변수를 전달하지 시도).
결과 개체의 속성에 액세스하려고하거나 반복을 시도 할 때만 오류가 발생합니다. 나는 INT 카운트 줄에 중단 점을 설정하고 결과 개체 보면, 나는 결과의 개수의 값 열에서 다음을 참조하십시오
'result.Count'유형
의 예외가 발생했습니다 내 계정이 모두 지정된 OU 및 테스트 도메인 큰에서 (다른 모든 보안 액세스 가능)에 대한 Replicating Directory Changes 보안 액세스 권한이 보장 한
'함께 System.Runtime.InteropServices.COMException'. 나 또한 별도의 도메인 관리자 계정을 사용해 보았습니다.
DirectoryEntry
개체를 생성 할 때 자격 증명을 전달하지 않고 프로덕션 도메인에서 실행하면 동일한 문제가 발생합니다.
다른 검색 결과를 성공적으로 검색 할 수 있다는 것을 고려하면 액세스 문제를 일으키는이 DirectorySynchronization에 대해서는 무엇이 있습니까? src.FindAll()
에 전화하면 왜 그런 일이 발생하지 않습니까?