Thread LDAP Daten Auslesen und weiter Verarbeiten (24 answers)
Opened by Rambo at 2018-08-08 09:02

thomas38
 2018-08-09 22:06
#188773 #188773
User since
2012-11-04
30 Artikel
BenutzerIn
[default_avatar]
Hallo Rambo,

entscheidend ist also, die E-Mail-Adresse des Managers herauszufinden.

Ich beziehe mich auf die Beispieldaten oben:
Code: (dl )
1
2
3
samACC   name            mail                    expired      Manager
AB001 John JD Doh John.Doh@mail.com Nie
BA001 Max MM Muster max.muster@firma.de 30.09.2018 CN=John.Doh


Der Manager von Max MM Muster ist also "CN=John.Doh".
Bei "CN=" vermute ich stark, dass es identisch mit dem Active Directory - Attribut "CN" ist.
Wenn dem so ist, kannst Du wie folgt die E-Mail-Adressen aller Einträge (und somit auch der Manager) ermitteln, bevor das Expiredate geprüft wird:
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
# VORSICHT: Diese Code ist nicht getestet
# ... nach dem search:
my %email_by_cn;
foreach my $entry (@entries) {
 my $cn     = $entry->get_value('cn');
 my $mail   = $entry->get_value('mail'); 
 $cn=lc($cn);  # in kleinbuchstaben wandeln - falls sich das mal unterscheidet
 $email_by_cn{$cn}=$mail;
}


Wenn Du später die E-Mail-Adresse des Managers "CN=John.Doh" wissen möchtest, kannst Du diese mit
Code (perl): (dl )
1
2
3
4
5
6
7
# VORSICHT: Diese Code ist nicht getestet
# ...
$manager=lc($entry->get_value('manager'));
$manager =~ s/^CN=//i; # "CN=" am Anfang entfernen
$manager=lc($manager); # ebenfalls in kleinbuchstaben wandeln

my $email_adresse_des_managers=$email_by_cn{$manager};


ermitteln.

Das setzt natürlich voraus, dass die Werte im Active Directory peinlich genau gepflegt werden. Ein Tippfehler oder gar eine Namensänderung und schon kann die dazugehörige E-Mail-Adresse nicht mehr gefunden werden.
Last edited: 2018-08-09 22:42:36 +0200 (CEST)

View full thread LDAP Daten Auslesen und weiter Verarbeiten