Hi everybody,

i tried to get all elements of my ldap by using the source code:
<---
#!/usr/bin/perl

use strict;
use DBI;
use Net::SMTP;
use Net::LDAP;
use Net::LDAP::LDIF;
use Net::LDAP::Control::Paged;
use Net::LDAP::Constant qw(LDAP_CONTROL_PAGED);

my $ad_ldap_dn = "cn=myuserid,ou=benutzerkonten,dc=my,dc=domain,dc=com";
my $ad_ldap_password     = "MySecretPassword";
my $ad_ldap_server       = "my.domain.com";
my $item;

my $ad_ldap = Net::LDAP->new($ad_ldap_server, version => 3) or die "unable to connect to ad ldap: $@";
my $result = $ad_ldap->bind($ad_ldap_dn, password => $ad_ldap_password);


my $page = Net::LDAP::Control::Paged->new(size => 1000);
my $cookie;

my @args = ( base    => "ou=benutzerkonten,dc=my,dc=domain,dc=com",
             scope   => 'sub',
             attrs   => ['cn', 'sn', 'givenname', 'department','objectClass'],
             filter  => "(cn=*)",
             control => [ $page ]
           );


while (my $ad_search = $ad_ldap->search(@args)) {
  while (my $ad_user = $ad_search->shift_entry) {
    foreach $item ($ad_user)
    {
      my $personalnummer = "";
      my $koe            = "";
      my $vorname        = "";
      my $nachname       = "";
      my $objectClass    = "";
         $personalnummer = $item->get_value ( 'cn' );
         $koe            = $item->get_value ( 'department' );
         $vorname        = $item->get_value ( 'givenname' );
         $nachname       = $item->get_value ( 'sn' );
         $objectClass    = $item->get_value ( 'objectClass' );

if ( ($vorname eq "Jochen") || $nachname eq "Wirth" || $nachname eq "Zinkel" )
      {
print $vorname.", ".$nachname." (".$personalnummer.") - $koe Klasse: $objectClass gefunden...\n";
      }
    }
    my ($resp) = $ad_search->control(LDAP_CONTROL_PAGED);
    $cookie = $resp->cookie or last;
    $page->cookie($cookie);
  }
  if (!$cookie)
  {
    last;
  }
}

$ad_ldap->unbind();
<---


but still there are some datasets missing :(

I changed the filter to:
- filter  => "(cn=*)",
- filter  => "(sn=*)",
- filter  => "($objectClass=*)",

Using the filter i got
- 6282
- 6394
- 6289
elements...

But this are still not all elements...


Is there a easy way to get all ldap elements?


Thanks for help
Andy

Reply via email to