large groups question
Natxo Asenjo <[email protected]> Wed, 6 Jan 2016 08:55:36 +0100
| Newsgroups | gmane.comp.lang.perl.modules.ldap |
|---|---|
| Message-ID | <CAHBEJzUN2p9XoSotomc3_tUvvcoHremb2RiGscP61owuArMzLQ@mail.gmail.com> |
--e89a8f234dd3f18b480528a5ad62
Content-Type: text/plain; charset=UTF-8
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
--e89a8f234dd3f18b480528a5ad62
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: base64
PGRpdiBkaXI9Imx0ciI+PGRpdj48ZGl2PjxkaXY+aGksPGJyPjxicj48L2Rpdj5mb2xsb3dpbmcg
dGhlIEZBUSAoPGEgaHJlZj0iaHR0cDovL3NlYXJjaC5jcGFuLm9yZy9+bWFyc2NoYXAvcGVybC1s
ZGFwLTAuNjUvbGliL05ldC9MREFQL0ZBUS5wb2QjSG93X2RvX0lfc2VhcmNoX2Zvcl9hbGxfbWVt
YmVyc19vZl9hX2xhcmdlX2dyb3VwX2luX0FEIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL3NlYXJj
aC5jcGFuLm9yZy9+bWFyc2NoYXAvcGVybC1sZGFwLTAuNjUvbGliL05ldC9MREFQL0ZBUS5wb2Qj
SG93X2RvX0lfc2VhcmNoX2Zvcl9hbGxfbWVtYmVyc19vZl9hX2xhcmdlX2dyb3VwX2luX0FEPC9h
Pj8pPGJyPjxicj48L2Rpdj5JIHN1Y2Nlc3NmdWxseSByZXRyaWV2ZSBhbGwgbWVtYmVycyBvZiBh
IGxhcmdlIGdyb3VwLCBuaWNlLjxicj48YnI+PC9kaXY+PGRpdj5UaGUgZXhhbXBsZSBzZWFyY2hz
IG9ubHkgdXNpbmcgc2NvcGUgJiMzOTtiYXNlJiMzOTsgYW5kIGFzIGJhc2UgdGhlIGdyb3VwIGRp
c3Rpbmd1aXNoZWRuYW1lLjxicj48YnI+PC9kaXY+PGRpdj5JZiBJIGNoYW5nZSB0aGF0IHRvIDxi
cj48YnI+PC9kaXY+PGRpdj5iYXNlID0gJnF1b3Q7ZGM9ZG9tYWluLGRjPXRsZCZxdW90Oyw8YnI+
PC9kaXY+PGRpdj5zY29wZSA9ICZxdW90O3N1YiZxdW90Oyw8YnI+PGJyPjwvZGl2PjxkaXY+aXQg
ZmluZHMganVzdCBvbmUgZ3JvdXA6PGJyPjxicj5teSAkbWVzZzs8YnI+bXkgQG1lbWJlcnM7PGJy
Pm15ICRzYW1hY2NvdW50Ozxicj5teSAkaW5kZXggPSAwOzxicj48YnI+d2hpbGUgKCAkaW5kZXgg
bmUgJiMzOTsqJiMzOTsgKSB7PGJyPsKgwqDCoCAkbWVzZyA9ICRsZGFwcHJvZC0mZ3Q7c2VhcmNo
KDxicj7CoMKgwqDCoMKgwqDCoCBiYXNlwqDCoCA9Jmd0OyAkcHJvZF9iYXNlLDxicj7CoMKgwqDC
oMKgwqDCoCBmaWx0ZXIgPSZndDsgJnF1b3Q7KG9iamVjdGNsYXNzPWdyb3VwKSZxdW90Oyw8YnI+
wqDCoMKgwqDCoMKgwqAgc2NvcGXCoCA9Jmd0OyAmIzM5O3N1YiYjMzk7LDxicj7CoMKgwqDCoMKg
wqDCoCBhdHRyc8KgID0mZ3Q7IFsgKCAkaW5kZXggJmd0OyAwICkgPyAmcXVvdDttZW1iZXI7cmFu
Z2U9JGluZGV4LSomcXVvdDsgOiAmIzM5O21lbWJlciYjMzk7LCAmIzM5O3NhbWFjY291bnRuYW1l
JiMzOTssIF08YnI+wqDCoMKgICk7PGJyPsKgwqDCoCBpZiAoICRtZXNnLSZndDtjb2RlID09IExE
QVBfU1VDQ0VTUyApIHs8YnI+wqDCoMKgwqDCoMKgwqAgbXkgJGVudHJ5ID0gJG1lc2ctJmd0O2Vu
dHJ5KDApOzxicj7CoMKgwqDCoMKgwqDCoCBteSAkYXR0cjs8YnI+PGJyPsKgwqDCoMKgwqDCoMKg
ICMgbGFyZ2UgZ3JvdXA6PGJyPsKgwqDCoMKgwqDCoMKgIGlmICggKCRhdHRyKSA9IGdyZXAoIC9e
bWVtYmVyO3JhbmdlPS8sICRlbnRyeS0mZ3Q7YXR0cmlidXRlcyApICkgezxicj7CoMKgwqDCoMKg
wqDCoMKgwqDCoMKgIHB1c2goIEBtZW1iZXJzLCAkZW50cnktJmd0O2dldF92YWx1ZSgkYXR0cikg
KTs8YnI+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAkc2FtYWNjb3VudCA9ICRlbnRyeS0mZ3Q7Z2V0
X3ZhbHVlKCYjMzk7c2FtYWNjb3VudG5hbWUmIzM5Oyk7PGJyPjxicj7CoMKgwqDCoMKgwqDCoMKg
wqDCoMKgIGlmICggJGF0dHIgPX4gL15tZW1iZXI7cmFuZ2U9XGQrLSguKikkLyApIHs8YnI+wqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICRpbmRleCA9ICQxOzxicj7CoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqAgJGluZGV4KysgaWYgKCAkaW5kZXggbmUgJiMzOTsqJiMzOTsgKTs8
YnI+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB9PGJyPsKgwqDCoMKgwqDCoMKgIH08YnI+PGJyPsKg
wqDCoMKgwqDCoMKgICMgc21hbGwgZ3JvdXA6PGJyPsKgwqDCoMKgwqDCoMKgIGVsc2Ugezxicj7C
oMKgwqDCoMKgwqDCoMKgwqDCoMKgIEBtZW1iZXJzID0gJGVudHJ5LSZndDtnZXRfdmFsdWUoJiMz
OTttZW1iZXImIzM5Oyk7PGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgJHNhbWFjY291bnQgPSAk
ZW50cnktJmd0O2dldF92YWx1ZSgmIzM5O3NhbWFjY291bnRuYW1lJiMzOTspOzxicj7CoMKgwqDC
oMKgwqDCoMKgwqDCoMKgIGxhc3Q7PGJyPsKgwqDCoMKgwqDCoMKgIH08YnI+wqDCoMKgIH08YnI+
PGJyPsKgwqDCoCAjIGZhaWx1cmU8YnI+wqDCoMKgIGVsc2Ugezxicj7CoMKgwqDCoMKgwqDCoCBs
YXN0Ozxicj7CoMKgwqAgfTxicj59PGJyPjxicj5pZiAoICRtZXNnLSZndDtjb2RlID09IExEQVBf
U1VDQ0VTUyApIHs8YnI+wqDCoMKgIGZvciAoQG1lbWJlcnMpIHs8YnI+wqDCoMKgwqDCoMKgwqAg
cHJpbnQgJnF1b3Q7JF9cbiZxdW90Ozs8YnI+wqDCoMKgIH08YnI+wqDCoMKgIHByaW50ICZxdW90
O0dyb3VwOiAkc2FtYWNjb3VudFxuJnF1b3Q7Ozxicj59PGJyPjxicj48L2Rpdj48ZGl2PkkmIzM5
O20gb2J2aW91c2x5IGRvaW5nIHNvbWV0aGluZyB3cm9uZy4gRG8gSSBuZWVkIHRvIGdldCB0aGUg
Z3JvdXBzIGRpc3Rpbmd1aXNoZWRuYW1lIGFuZCB0aGVuIHVzZSB0aGUgc2NvcGUgJiMzOTtiYXNl
JiMzOTsgdG8gbG9vayBhdCBtZW1iZXJzaGlwIG9mIGFsbCBncm91cHM/PGJyPjxicj48L2Rpdj48
ZGl2PlRoYW5rcyBmb3IgeW91ciBhZHZpY2UuPGJyIGNsZWFyPSJhbGwiPjwvZGl2PjxkaXY+PGRp
dj48ZGl2PjxkaXY+PGJyPjxicj4tLSA8YnI+PGRpdj4tLTxicj5Hcm9ldGVuLDxicj5uYXR4bzwv
ZGl2Pg0KPC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+DQo=
--e89a8f234dd3f18b480528a5ad62--