#visual-studio-2010 #c#-4.0 #active-directory
#visual-studio-2010 #c #-4.0 #active-directory
Вопрос:
Я нашел статью о получении пользователей из active Directory здесь
Так что, возможно, моему коду понравится это
String strPath = "format of this path";
DirectoryEntry entry = null;
entry = new DirectoryEntry(strPath);
DirectorySearcher mySearcher = new DirectorySearcher(entry);
mySearcher.Filter = ("ObjectCategory=user");
foreach (SearchResult result in mySearcher.FindAll())
{
String strName = result.GetDirectoryEntry().Name;
//Do whatever
}
Не могли бы вы, пожалуйста, объяснить strPath здесь?? Каков формат этого??
Примечание: Я знаю, что информацию о моем сервере можно получить, используя мой локальный ip «198.168.1.182» в целях тестирования.
Я не уверен, что то, о чем я думаю, правильно.
Пожалуйста, помогите!!!
Ответ №1:
Поскольку вы работаете на .NET 4, вам обязательно следует ознакомиться с System.DirectoryServices.AccountManagement
(S.DS.AM ) пространство имен. Прочитайте все об этом здесь:
Управление участниками безопасности каталога в .NET Framework 3.5
В принципе, вы можете определить контекст домена и легко находить пользователей и / или группы в AD:
// set up domain context
PrincipalContext ctx = new PrincipalContext(ContextType.Domain);
// find user by name
UserPrincipal user = UserPrincipal.FindByIdentity(ctx, "John Doe");
// if we found user - inspect its details
if(user != null)
{
string firstName = user.GivenName;
string lastName = user.Surname;
string email = user.EmailAddress;
string phone = user.VoiceTelephoneNumber;
}
Новый S.DS.AM позволяет действительно легко взаимодействовать с пользователями и группами в AD:
Комментарии:
1. ответ marc_s неполный. Метод FindyByIntenty требует минимум двух аргументов. Основным контекстным объектом «ctx» должен быть первый аргумент.
2. @jdmorris: спасибо, вы абсолютно правы — исправил мой ответ
3. Большое вам спасибо. Я искал решение весь день. Это сделало работу с ним очень простой.
Ответ №2:
strPath — это URL LDAP, дополнительную информацию о котором можно найти здесь:http://en.wikipedia.org/wiki/LDAP#LDAP_URLs
Структура может показаться немного странной на первый взгляд, но пример в википедии дает хорошее представление об этом.