|
|
|
Example Perl LDAP code to retrieve faculty/staff information
Below is perl code that will bind to FSU directory server and extract a list of all employees.
#!/usr/bin/perl
use Net::LDAP;
###############################
# Connect to iPlanet
if ($iDir = Net::LDAP->new('directory.fsu.edu')) {
$result = $iDir->bind;
if ($result->code) {
print "\n\nError: Could not bind to $iDirHost";
print "\n\t" . $result->code . ":" . $result->error_name . "\n\t" . $result->error_text;
}
}else {
print "\n\nError: Could not connect to $iDirHost\n\n";
exit 0;
}
###############################
# Get all the people
my @args = ( base => "o=Florida State University",
filter => "(cn=*)",
attrs => [ 'cn', 'department', 'facsimiletelephonenumber', 'telephonenumber',
'title', 'physicaldeliveryofficename', 'postalcode', 'mail' ] );
my $list = $iDir->search(@args);
while ($entry = $list->pop_entry) {
my $cn = $entry->get_value('cn');
my $department = $entry->get_value('department');
my $facsimiletelephonenumber = $entry->get_value('facsimiletelephonenumber');
my $telephonenumber = $entry->get_value('telephonenumber');
my $title = $entry->get_value('title');
my $physicaldeliveryofficename = $entry->get_value('physicaldeliveryofficename');
my $postalcode = $entry->get_value('postalcode');
my $mail = $entry->get_value('mail');
print "$cn, $department, $facsimiletelephonenumber, $telephonenumber, $title, $physicaldeliveryofficename, $postalcode, $mail\n"
}
$iDir->unbind;
--Donny
|