Merci!
Works like a charm! Great!!! :o) ---- Dominic Dupuis -----Message d'origine----- De : Megan Kielman [mailto:[EMAIL PROTECTED] Envoyé : vendredi 19 janvier 2007 09:30 À : Dupuis, Dominic; Perl-LDAP Mailing List Objet : Re: Net::LDAP - AD paging Here is how I do it, this is just a piecemeal representation of a script that I currently use but hopefully lyou get the idea. use Net::LDAPS; use Net::LDAP::Control::Paged; use Net::LDAP::Constant qw( LDAP_CONTROL_PAGED ); my $ldap = Net::LDAPS->new($addr) or die "LDAP server could not be contacted. Error:$@"; my $page = Net::LDAP::Control::Paged->new( size => 100 ); ### binds to DC using above credentials my $login = $ldap->bind($user, password=> $pass); my $iserr = $login->is_error; if ($iserr) { # success returns 0 print "Authentication failed\n"; exit; } my @srcargs1 = ( base => $path, scope => "sub", filter => "(objectClass=group)", control => [ $page ], ); ### Main program loop while (1) { $search = $ldap->search(@srcargs1); if ($search->code) { # successful search returns 0 exit print "LDAP Search Failed $?\n"; } foreach $entry ($search->entries) { my $grpname = $entry->get_value("name"); print "Group name is: $grpname\n"; } ### After foreach loops ends, client checks LDAP server reponse of how many search results total. ### This is a control to end the infinite while loop if there are no search results to go through ### If there are search results, this control will always return the total number of results. It is ### never decremented my ($resp) = $search->control( LDAP_CONTROL_PAGED ) or last; ### Obtaining the cookie from the search result. When no more results, cookie will be NULL ### and infinite while loop will terminate. $cookie = $resp->cookie or last; ### Sets cookie so server knows the next search result to send $page->cookie($cookie); } ### This is a control to check for abnormal exit of the while loop. If this occurs ### we need to tell the LDAP server that remaining search results are no longer needed ### by sending a search request with a page size of 0 if ($cookie) { $page->cookie($cookie); $page->size(0); $ldap->search(@srcargs1); } On 1/19/07, Graham Barr <[EMAIL PROTECTED]> wrote: Begin forwarded message: > From: <[EMAIL PROTECTED]> > Date: January 18, 2007 2:27:35 PM CST > To: <[EMAIL PROTECTED] > > Subject: Net::LDAP - AD paging > Message-Id: > <[EMAIL PROTECTED] > > > Graham, > > I need to do an LDAP search, via Net::LDAP, on a AD server. > Since I receive back only 1000 objects, I would like to use the > "paging" feature to receive all responses from my server. > > Do you have any example on how to do paging search via your > Net::LDAP module? I search over the web and I found no example... > > Thanks a lot for any help! > > Bye! > > ---- > Dominic Dupuis