AD(Active Directory)에서 이메일 읽기
AD(Active Directory) Active Directory가 트리 구조인지 확인합니다.트리 구조의 각 노드는 하나의 속성을 포함한다.
AD 구조를 보려면 MS에서 제공하는 도구, ADExplorer를 사용하십시오.exe .
.NET 대 AD 지원 시스템.Directory Services 네임스페이스 1 네임스페이스는 ADSI(Active Directory Services Interface) 기술을 사용하는 두 가지 구성 요소 종류를 포함합니다.2 추가, 수정 및 삭제를 제공합니다.Directory Entry 범주 1은 Active Directory 베이스 구조의 노드나 객체를 패키지합니다.2 객체, 속성 읽기(Property) 및 속성 업데이트(Attribute)에 매듭됩니다.3 라이프 사이클 관리와 탐색 방법에 대한 지원을 제공합니다. 이는 서브노드 구축, 삭제, 이름 바꾸기, 서브노드 제거, 서브시스템 열거 등을 포함합니다.DirectoryServices.DirectorySearcher 1은 Active Directory 베이스 구조에 대한 질의를 수행합니다.2 SearchResult의 인스턴스를 SearchResultCollection 범주의 인스턴스에 포함합니다.DirectoryServices.SearchResult DirectoryServices.SearchResultCollection
질의 구문 필터링 조건은 다음 지침을 사용합니다. 1문자열은 괄호 안에 포함되어야 합니다.3 표현식은 <, <=, =, >= 및 > 관계식 연산자를 사용할 수 있습니다.하나의 범례는 "(objectClass=user)"입니다.또 다른 범례는 "(lastName>=Davis)"입니다.3 복합 표현식은 선행 연산자 & 및 | 로 구성되어 있습니다.하나의 범례는 "(&(objectClass=user)(lastName=Davis)"입니다.또 다른 범례는 "(&(objectClass=printer)(| (building=42)(building=43)"이다.자세한 내용:http://msdn.microsoft.com/library/default.asp?url=/library/en-us/adsi/adsi/search_filter_syntax.asp)
실례
<add key="ADServerPath" value="LDAP://192.168.0.6/DC=wood,DC=com,DC=cn"/>
/// <summary>
/// AD AD email。
/// </summary>
/// <param name="memberID">AD </param>
/// <returns></returns>
public static string GetMailAddressFromAD(string memberID)
{
string mailAdd = string.Empty;
System.DirectoryServices.DirectorySearcher search = null;
System.DirectoryServices.SearchResult r = null;
try
{
search = new System.DirectoryServices.DirectorySearcher();
string ADServerPath = ConfigurationManager.AppSettings["ADServerPath"].ToString();
string filter =
"(&(&(& (mailnickname=*) (| (&(objectCategory=person)(objectClass=user)
(samAccountName=" + memberID + ")(|(homeMDB=*)(msExchHomeServerName=*))) ))))";
search.SearchRoot = new System.DirectoryServices.DirectoryEntry(ADServerPath);
search.Filter = filter;
search.SearchScope = System.DirectoryServices.SearchScope.Subtree;
r = search.FindOne();
if (r != null)
{
mailAdd = r.Properties["mail"][0].ToString();
}
}
catch (Exception ex)
{
throw new Exception(" 。",ex);
}
return mailAdd;
}
/// <summary>
/// AD email。
/// </summary>
/// <param name="userName"> </param>
/// <returns></returns>
public static string GetMailAddressFromADByUserName(string userName)
{
string mailAdd = string.Empty;
System.DirectoryServices.DirectorySearcher search = null;
System.DirectoryServices.SearchResult r = null;
try
{
search = new System.DirectoryServices.DirectorySearcher();
string ADServerPath = ConfigurationManager.AppSettings["ADServerPath"].ToString();
search.SearchRoot = new System.DirectoryServices.DirectoryEntry(ADServerPath);
// * , SQL Like '%userName%'
search.Filter = "(displayName=*" + userName + "*)";
search.SearchScope = System.DirectoryServices.SearchScope.Subtree;
r = search.FindOne();
if (r != null)
{
mailAdd = r.Properties["mail"][0].ToString();
}
}
catch (Exception ex)
{
throw new Exception(" 。",ex);
}
return mailAdd;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.