Платформа.NET « Список пользователей из Active Directory средствами c#
Можно ли получить список пользователей (достаточно логина, имени и фамилии) определенного домена из Active Directory стандартными средствами c#, не имея администраторских прав на контроллере домена?
1 ответов
Можно. Используются классы DirectoryEntry,DirectorySearcher и прочие пространства имен System.DirectoryServices
var domainPath = "имя домена где производится поиск";
var directoryEntry = new DirectoryEntry(domainPath);
var dirSearcher = new DirectorySearcher(directoryEntry);
dirSearcher.SearchScope = SearchScope.Subtree;
dirSearcher.Filter = string.Format("(&(objectClass=user)(|(cn={0})(sn={0}*)(givenName={0})(sAMAccountName={0}*)))", searchString);
var searchResults = dirSearcher.FindAll();
foreach (SearchResult sr in searchResults)
{
var de = sr.GetDirectoryEntry();
//...do smth
}
Строка запроса (&(objectClass=user)(|(cn={0})(sn={0}*)(givenName={0})(sAMAccountName={0}*)))
соответственно здесь идет поиск пользователя по свойствам cn, sn, givenName, sAMAccountName