문제가 있습니다. 원격 서버에서 Active Directory에 연결해야하지만 코드는 LdapConnection
클래스를 사용해야합니다. 이 방법은 일부 이벤트 (예 : 사용자 비활성화 또는 그룹, 데이터 변경 등)가 발생할 때만 변경 알림을 테스트 할 수 있기 때문에 필요합니다.원격 서버의 LdapConnection 클래스를 사용하여 Active Directory에 연결
String ldapPath = "LDAP://XRMSERVER02.a24xrmdomain.info";
directoryEntry = new DirectoryEntry(ldapPath, @"A24XRMDOMAIN\username", "pass");
//// Search AD to see if the user already exists.
DirectorySearcher search = new DirectorySearcher(directoryEntry);
search.Filter = "(&(objectClass=user))";
SearchResult result = search.FindOne();
이 괜찮 및 연결 작동하지만 지금은 LdapConnection
를 사용하여 연결해야합니다 원격 서버의 OS는 2012 년
나는 다음과 같은 코드로 DirectoryServices
를 사용하여 로컬에서이 작업을 수행하기 위해 관리되는 윈도우 서버입니다 수업.
LdapConnection connection = new LdapConnection(XRMSERVER02.a24xrmdomain.info);
var credentials = new NetworkCredential(@"A24XRMDOMAIN\username", "pass");
connection.Credential = credentials;
connection.Bind();
그것은 자격 증명이 유효하지만, 사실이 아니라고 말했다.
설명 :
XRMSERVER02
- 도메인 컨트롤러a24xrmdomain.info
- 도메인A24XRMDOMAIN
- 도메인은 도움을
감사 로깅에 사용됩니다.
전체 도메인을 모니터링하려는 경우 변경 알림을 사용하지 않는 것이 좋습니다. 이 기법은 속성 변경을 위해 지정된 객체 또는 여러 객체를 모니터링해야 할 때 사용하도록 설계되었습니다. 고도로로드 된 환경에서이 기술은 단순히 작동하지 않습니다. 변경 사항에 대한 모든 알림을받지 못합니다 (도메인에 10K 사용자를 추가하고 어떤 일이 발생하는지 확인). 전체 도메인의 폴링 변경 사항은 DirSync 또는 USN 기술을 사용하십시오. – oldovets
알림에 관한 내 질문에 의미가 있었나요? http://stackoverflow.com/questions/39261263/notify-me-when-events-in-active-directory-occur-in-c-sharp .. 나는 알림을 사용하고 있습니다. 그 때문에 다른 기법으로 변경하는 방법을 모르겠다. uSNChanged 속성 상태를 확인하기 위해 매 5 초마다 TImer를 설정하는 것이 좋을까요? 전 객체의 이전 상태를 가지고 있으므로 그렇게 작동 할 수 있습니다. 다른 옵션이 무엇인지 잘 모르겠습니다. 제공된 링크에서 내 대답을 확인해 주시겠습니까? 감사합니다 – Dan
uSNChanged 기술의 경우 다음 단계를 수행 할 수 있습니다. 1. DC에 연결하십시오. 2.이 DC (이름은 hcusn)에서 현재 highestCommitedUsn을 쿼리합니다 (https://msdn.microsoft.com/en-us/library/system.directoryservices.activedirectory.domaincontroller.highestcommittedusn(v=vs.110).aspx 참조) . 3. 이전 값이 필요할 경우 LDAP 필터에서 (uSNChanged <= hcusn)을 지정하여이 DC에서 현재 AD 스냅 샷을 수집합니다. 4. 디스크에 hcusn을 저장하십시오. 5. 동일한 DC에 다시 연결하십시오. 6. highestCommitedUsn을 조회하십시오 (hcusnnew 이름). 4. LDAP 필터에서 & (uSNChanged> hcusn) (uSNChanged <= hcusnew)를 지정하여 변경 사항을 수집하십시오. – oldovets