-
Вложений: 1
дерево LDAP
Может кто подскажет.
Есть LDAP каталог (виндовый AD) с довольно сложной иерархической структурой.
Если просматривать его стандартной оснасткой или утилитой AD Explorer, то отображается четкая древовидная структура - логичная и легкая для восприятия.
Во всяких скриптовых языках для получения объектов из каталога предназначены спец. функции + фильтр. Так вот столкнулся с тем, что сделать вменяемую выборку этим фильтром у меня не получается.
К примеру, как на скрине, есть много OU с регионами, среди которых ODER. В OU=ODER есть OU=ODE1, в нем - OU=Computers и в компьютерах уже идёт список компов.
Хочется скриптом узнать, например, имена всех ПК в регионах (OU=ODER и другие) + разделить их в списки (массивы) по филиалам (OU=ODE1 и другие).
Можно конечно выбрать все объекты из каталога, а потом в скрипте их сортировать, например, по distinguishedName. Но, это будет довольно долго из-за того, что в каталоге много объектов.
Так что, интересуют альтернативные варианты.
-
Как по мне, задачу легко можно решить скриптовыми языками считывая все дерево каталогов и файлов в массив (с учетом иерархической структуры), а потом извлекать необходимую ветвь поиском по массиву. Работать должно достаточно быстро.
-
А зачем выбирать все? Выбирай только из конкретной оушки и сортируй сколько хочешь.
-
Рекомендую отличный продукт Hyena.
http://www.systemtools.com/
В нем построй любой запрос и отсортируй результат.