Как составить список подразделений в подразделении? - PullRequest
2 голосов
/ 30 марта 2011

Я хотел бы вывести все OU, которые находятся в тестовом OU.

my $mesg = $ldap->search(
    base => "OU=test,OU=company,DC=example,DC=com",
    scope => 'sub',
    filter => '(objectClass=*)',
    attrs => ['*'],
    );

print Dumper $mesg->entry;

Когда я выполняю поиск таким образом, я получаю информацию только о тестовом подразделении, а не о том, в каком подразделении оно содержится.

Есть идеи, как это сделать?

1 Ответ

4 голосов
/ 30 марта 2011

$ mesg будет иметь массив записей.Вы пытаетесь распечатать первую запись из результатов поиска.

Попробуйте,

print Dumper $mesg

и измените фильтр на

filter => '(objectClass=organizationalUnit)'

ldapsearch, чтобы начать поиск сбаза дн и в том числе на основании.Здесь OU = тест, OU = компания, DC = пример, DC = com также является организационной единицей, поэтому эта запись становится для вас первой записью в результате, и вы печатаете только это.

...