in reply to Phone lookup on Exchange server
A sample calling program:
#!/usr/bin/perl -w use strict; use Net::LDAP::Exchange; use Data::Dumper; use constant SERVER => 'Exchange Server Here'; use constant DOMAIN => 'Domain Here'; # If you need to login... use constant LOGIN => 'Exchange Login Here'; use constant PASSWORD => 'Password Here'; my $ex = Net::LDAP::Exchange->new(SERVER,DOMAIN,LOGIN,PASSWORD); my $result_set = $ex->search_lastname('Bisbee'); print Dumper($result_set);
Here is the skelton of my module to search by last name:
If you have any comments or suggestions, send them to jbisbee at yahoo dot com.package Net::LDAP::Exchange; use strict; use Net::LDAP; use Data::Dumper; sub new { my ($class, $server, $domain, $name, $password) = @_; die 'server and domain are required' unless $server and $domain; die 'missing password' if $name and !$password; die 'missing name' if $password and !$name; my $self = bless {}, $class; $self->{ldap} = Net::LDAP->new($server); $self->{server} = $server; $self->{domain} = $domain; $self->{name} = $name if $name; $self->{password} = $password if $password; return $self; } sub search_lastname { my ($self,$search) = @_; my $query = _build_query($search,qw(CN)); my $result_set = $self->search($query); return $result_set; } sub search { my ($self,$query) = @_; if ($self->{name} and $self->{password}) { $self->{ldap}->bind('cn='.$self->{name}, password=>$self->{password}, version=>3); } else { $self->{ldap}->bind; } my $results = $self->{ldap}->search(base => 'o=' . $self->{domain}, filter => "(|$query)"); $results->code && die $results->error; my @result_set = (); foreach my $entry ($results->all_entries) { my @attributes = $entry->attributes; my $result = {}; for my $att (@attributes) { my $return_att = uc $att; $result->{$return_att} = $entry->get_value($att); } push @result_set, $result; } $self->{ldap}->unbind; return \@result_set; } sub _build_query { my ($search,@fields) = @_; my $query = join '', map { "($_=$search*) " } @fields; return $query; }
-biz-
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Re: Phone lookup on Exchange server
by jlf (Scribe) on Feb 13, 2002 at 17:35 UTC | |
by jbisbee (Pilgrim) on Feb 13, 2002 at 18:58 UTC |