Здравствуйте, Mdel, Вы писали:
M>Имеем таблицу с перечислением SID доменных пользователей (AD, 2003 Server). Хотелось бы узнать, как можно реализовать получение данных о пользователе на основе его SID, и вывести это дело на страницу.
Я думаю надо использовать что-то вроде такого:
using System.DirectoryServices;
...
DirectoryEntry gentry = new DirectoryEntry(<AD host or empy to use by default>, <login>, <password>, AuthenticationTypes.ServerBind);
using (DirectorySearcher gsearch = new DirectorySearcher(gentry))
{
for(<loop through all SIDs>)
{
gsearch.Filter = string.Format("(&(objectCategory=person)(objectClass=user)(objectsid={0}))", <sid>);
SearchResult userEntry = gsearch.FindOne();
if (userEntry != null)
{
foreach (DictionaryEntry prop in userEntry.Properties)
{
...
}
}
}
}
По SID-у правда искать не приходилось, чаще по идентификатору пользователя (sAMAccountName).