如何列出OU中的OU?

时间:2011-03-30 11:13:46

标签: perl active-directory ldap

我想输出测试OU中的所有OU。

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

print Dumper $mesg->entry;

当我像这样进行搜索时,我只获得有关测试OU的信息,而不是它包含的OU。

任何想法如何做到这一点?

1 个答案:

答案 0 :(得分:4)

$ mesg将包含一系列条目。您正尝试从搜索结果中打印第一个条目。

尝试,

print Dumper $mesg

也将您的过滤器更改为

filter => '(objectClass=organizationalUnit)'

ldapsearch从基础dn开始搜索并包括basedn。这里OU = test,OU =公司,DC =示例,DC = com也是organizationalunit,所以这个条目将作为结果的第一个条目出现,而您只打印它。