mal ne frage. ich habe ein crm system auf einem mysql server unter linux laufen. habe ein script geschrieben das alle kontakte aus mysql in das Active Directory importiert. habe eine OU=Adressbuch erstellt wo alle kontakte dort landen. gleichzeitig lauft auf der win kiste exchange server 2003. wie kriege ich am bestens alle kontakte is exchange adressbuch hinein. was ist strategisch der beste weg, oder überhaupt eine lösung. bin neu in der windows exchange 2003 welt.
Active Directory Kontakte
- gzilla
- Unerledigt
-
-
Hallo,
In der OU Adressbuch (auf dem Exchange Server) alle Kontakte markieren - rechte Maustaste - Exchange Aufgaben - E-mail aktivieren (heisst das denke ich). Eine interne Adresse bekommen die Kontakte über den RUS und die Empfängerrichtlinie und die externe Adresse hast du sicher mit dem script Importiert (?). Solltest du die externe Adresse nicht definiert haben, musst du das dann für jeden Kontakt machen. Leider ist das Anlegen von E-Mail aktivierten Objekten (Kontakte, User mit Postfach usw.) nur per CDO Supportet. (gehen tut es aber auch mit VBScript).
-
Hallo.
Wenn die Kontakte im AD mail-aktiviert sind, dann tauchen diese auch automatisch im Exchange-Adressbuch auf. Wie importierst du denn die Kontakte? Mit einem VB-Script?
Wenn die Kontakte jetzt nicht im Exchange Adressbuch auftauchen, dann sind sie sicherlich nicht mail-aktiviert. Das kannst du festestellen, indem du auf deinem Exchange-Server das MMC-Snapin "Benutzer und Computer" aufrufst und dir die Eigenschaften der Kontakte anschaust. Dort muss es den Reiter "E-Mail Adressen" geben. Wenn es diesen nicht gibt, dann kannst du mit rechter Maustaste auf die Kontakte "Exchange Aufgaben" die Kontakte mail-aktivieren. Die importierten E-Mailadressen gehen dadurch aber wahrscheinlich verloren. Besser ist, wenn der Import direkt mail-aktivierte Kontakte erstellt. Poste doch mal dein Script.Gruss
Andreas -
ich erstelle eine ldf datei in der linux umgebung mit perl. dann kopiere ich sie automatisch auf den exchange/AD server
##########################
#!/usr/bin/perl -w
use strict;
use CGI;
use DBI;# Verbindung zur mySQL
my $file="/mnt/sql2ldap.ldf";
my $cgi_obj = new CGI;
my $dbh = DBI->connect( 'dbi:mysql:crm', 'root', 'secret1')
die "KeineVerbindung zum MySQL-Server aufbauen: $DBI::errstr\n";# SQL Query
my $sth = $dbh->prepare( 'select last_name,first_name,phone1_area_code,phone1_number,email1_email_address from person where Active = 1' )
die "Kann Statement nicht vorbereiten: $DBI::errstr\n";# select last_name,first_name,phone1_area_code,phone1_number,email1_email_address from person;
$sth->execute()
die "Kann Abfrage nicht ausfuehren: $DBI::errstr\n";
open(FILE,">$file");# LDIF Generate
while ( my @ergebnis = $sth->fetchrow_array() ){
# utf8::encode($ergebnis[0]);
# utf8::encode($ergebnis[1]);
# utf8::encode($ergebnis[2]);
# utf8::encode($ergebnis[3]);
# utf8::encode($ergebnis[4]);$ergebnis[0]="none" if $ergebnis[0] eq "";
$ergebnis[1]="(Vorname fehlt)" if $ergebnis[1] eq "";
$ergebnis[2]="none" if $ergebnis[2] eq "";
$ergebnis[3]="none" if $ergebnis[3] eq "";
$ergebnis[4]="none" if $ergebnis[4] eq "";#for (my $i=0; $i<=4; $i++) {
# $ergebnis[$i]="none" if $ergebnis[$i] eq "";
#}print FILE "dn: CN=" . $ergebnis[1] ." " . $ergebnis[0] . ",OU=Adressbuch,DC=firma,DC=de" .
"\n" . "changetype: add" .
"\n" . "objectClass: top" .
"\n" . "objectClass: person" .
"\n" . "objectClass: organizationalPerson" .
"\n" . "objectClass: contact" .
"\n" . "cn: " . $ergebnis[1] ." " . $ergebnis[0] .
"\n" . "sn: " . $ergebnis[0] .
"\n" . "telephoneNumber: " . $ergebnis[2] . $ergebnis[3] .
"\n" . "givenName: " . $ergebnis[1] .
"\n" . "distinguishedName: CN=" . $ergebnis[1] ." " . $ergebnis[0] . ",OU=Adressbuch,DC=firma,DC=de" .
"\n" . "instanceType: 4" .
"\n" . "name: " . $ergebnis[1] ." " . $ergebnis[0] .
"\n" . "objectCategory: CN=Person,CN=Schema,CN=Configuration,DC=firma,DC=de" .
"\n" . "mail: " . $ergebnis[4] ."\n\n";
}close(FILE);
$sth->finish();
$dbh->disconnect;system("cat " . $file);
##################################
unter windows importiere ich sie mit:
ldifde -k -i -f sql2ldap.ldif -s server
die kontakte erscheinen auch in der OU=Adressbuch. leider sehe ich sie nicht im outlook das mit dem exchange verbunden ist. nur die kontakte der AD Benutzer.
so sieht ein ldf eintag aus.
###################################
# dn: CN=Bercker Matthias,OU=Adressbuch,DC=firma,DC=de
# changetype: add
# objectClass: top
# objectClass: person
# objectClass: organizationalPerson
# objectClass: contact
# cn: Becker Matthias
# telephoneNumber: 03064783633
# givenName: Bercker
# initials: Matthias
# distinguishedName :CN=Bercker Matthias,OU=Adressbuch,DC=firma,DC=de
# instanceType: 4
# name: Becker Matthias
# objectCategory:
# CN=Person,CN=Schema,CN=Configuration,DC=firma,DC=de
# mail: blabla@cisco.com####################################
fehlt noch was. (wie kriege ich die kontakte aktiv) oder villeicht eine andere lösung???
übrigens :
In der OU Adressbuch (auf dem Exchange Server) alle Kontakte markieren - rechte Maustaste - Exchange Aufgaben - E-mail aktivieren (heisst das denke ich).diese option hatte ich leider nicht?
-
Hallo,
du hast auch die MMC ADBuC auf dem Exchange verwendet? Denn auf dem DC findest du den Menüpunkt Exchange aufgaben nicht, wenn die Exchange Management Tool nicht Installiert sind.
-
Hi,
zusätzlich bitte beachten, das die ldf-Datei im Unicode-Format gespeichert sein muss!
Sonst hast du da den ersten Fehler.
Bin gespannt.
-
Hy
Da dir das Scripten ja zu liegen schient, auf ein von mir Skript, das email-aktivierte Kontakte erstellt.
Wichtig dabei sind die beiden Zeilen:objContact.Put "InternetEncoding", 1310720
objContact.Put "mapirecipient", strMapirecipDamit sollte das jetzt auch bei dir klappen.
-
problem gelöst.
habe folgende zeilen mit eingebettet ins script, um aktive kontakte zu erstellen.
targetAddress: SMTP:blabla@bla.de
mAPIRecipient: FALSE
mailNickname:user name
internetEncoding: xxxxxxx
name: user name
legacyExchangeDN: /o=Lewron Exchange/ou=Erste administrative Gruppe/cn=Recipients/cn= user name
objectCategory: CN=Person,CN=Schema,CN=Configuration,DC=firma,DC=dediesen script importiere ich mit ldifde -k -i -f script.ldif -s myserver.de
die kontakte sind nun sichtbar. und der versand funtz auch in meinter testumgebung.
danke nochmal für eure tips.
nun muss ich weiter mein exchage wissen erweitern.
-
Hallo,
ich habe da ein kleines Tool gebaut. Das die aus Excel eine ldif Datei macht. Evtl hilft dir das die Arbeit zu erleichtern.
http://www.faq-o-matic.net/content/view/255/45/Aber daran denken, dass das kein Weg ist der von Microsoft Supported wird.
Ansonsten viel Spass damit
-
Hi,
in den How-To findest Du ein Script, welches aus einer CSV Datei die Emailaktivierten Kontakte im AD erstellt.
http://www.nobbysweb.de/community/newbb/howto/051.pdfVielleicht noch eine weitere Alternative!
Gruss
Heinz