hi, following the FAQ ( http://search.cpan.org/~marschap/perl-ldap-0.65/lib/Net/LDAP/FAQ.pod#How_do_I_search_for_all_members_of_a_large_group_in_AD ?)
I successfully retrieve all members of a large group, nice. The example searchs only using scope 'base' and as base the group distinguishedname. If I change that to base = "dc=domain,dc=tld", scope = "sub", it finds just one group: my $mesg; my @members; my $samaccount; my $index = 0; while ( $index ne '*' ) { $mesg = $ldapprod->search( base => $prod_base, filter => "(objectclass=group)", scope => 'sub', attrs => [ ( $index > 0 ) ? "member;range=$index-*" : 'member', 'samaccountname', ] ); if ( $mesg->code == LDAP_SUCCESS ) { my $entry = $mesg->entry(0); my $attr; # large group: if ( ($attr) = grep( /^member;range=/, $entry->attributes ) ) { push( @members, $entry->get_value($attr) ); $samaccount = $entry->get_value('samaccountname'); if ( $attr =~ /^member;range=\d+-(.*)$/ ) { $index = $1; $index++ if ( $index ne '*' ); } } # small group: else { @members = $entry->get_value('member'); $samaccount = $entry->get_value('samaccountname'); last; } } # failure else { last; } } if ( $mesg->code == LDAP_SUCCESS ) { for (@members) { print "$_\n"; } print "Group: $samaccount\n"; } I'm obviously doing something wrong. Do I need to get the groups distinguishedname and then use the scope 'base' to look at membership of all groups? Thanks for your advice. -- -- Groeten, natxo