Книга: C# для профессионалов. Том II

Коллекции объектов

Коллекции объектов

Объекты хранятся в активном каталоге иерархически. В контейнерных объектах содержатся объекты-потомки. Их можно перечислить с помощью свойства Children класса DirectoryEntry. В другом направлении можно получить контейнер объекта с помощью свойства Parent.

Объект пользователя не имеет потомков, поэтому воспользуемся теперь организационной единицей. Давайте получим все объекты пользователей из организационной единицы Wrox Press в домене eichkogelstrasse.local. Свойство Children возвращает коллекцию DirectoryEntries, которая содержит объекты DirectoryEntry. Мы просматриваем все объекты DirectoryEntry для вывода имен объектов-потомков:

DirectoryEntry de = new DirectoryEntry();
de.Path. = "LDAP://celticrain/OU=Wrox Press, " + "DC=eichkogelstrasse, DC=local";

Console.WriteLine("Children of " + de.Name);

foreach (DirectoryEntry obj in de.Children) {
 Console.WriteLine(obj.Name);
}


В данном примере мы видим все объекты в организационной единице: пользователей, контакты, принтеры, общие ресурсы и другие организационные единицы. Если нужно увидеть только некоторые типы объектов, можно использовать свойство SchemaFilter класса DirectoryEntries:

DirectoryEntry de = new DirectoryEntry();
de.Path = "LDAP://celticrain/OU=Wrox Press, " + "DC=eichkogelstrasse, DC-local";
Console.WriteLine("Children of " + de.Name);
de.Children.SchemaFilter.Add("user");
foreach(DirectoryEntry obj in de.Children) {
 Console.WriteLine(obj.Name);
}

В результате мы видим в организационной единице только объекты пользователей:


Оглавление книги


Генерация: 0.402. Запросов К БД/Cache: 0 / 0
поделиться
Вверх Вниз