127132
20.01.2017
12024
9
0
Exchange 2013 - Kontakte aus CSV importieren
Hallo zusammen!
Ich muss mich hier als völliger Exchange-Noob outen.
Ich hab hier ein Exchange 2013 CU11 und eine CSV mit Kontakten aus einem Outlook 2010. Die CSV ist soweit bereinigt und lässt sich auch über einen Outlook-Client importieren.
So...ich hätte diese Kontakte aber gerne als Kontakte im Exchange.
Über das EAC könnte ich die Kontakte jetzt manuell reinklopfen. Will ich aber aus verstänflichen Gründen nicht.
Wie kann ich denn eine CSV da importieren? Das EAC gibt nur eine Exportmöglichkeit her.
Ich muss mich hier als völliger Exchange-Noob outen.
Ich hab hier ein Exchange 2013 CU11 und eine CSV mit Kontakten aus einem Outlook 2010. Die CSV ist soweit bereinigt und lässt sich auch über einen Outlook-Client importieren.
So...ich hätte diese Kontakte aber gerne als Kontakte im Exchange.
Über das EAC könnte ich die Kontakte jetzt manuell reinklopfen. Will ich aber aus verstänflichen Gründen nicht.
Wie kann ich denn eine CSV da importieren? Das EAC gibt nur eine Exportmöglichkeit her.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 326974
Url: https://administrator.de/contentid/326974
Ausgedruckt am: 22.11.2024 um 21:11 Uhr
9 Kommentare
Neuester Kommentar
Mit Powershell und einer Schleife schnell gemacht
Bsp.
Name und EMail sind dabei in diesem Beispiel die Spaltennamen aus der CSV.
Für die Parameter von New-MailContact siehe
https://technet.microsoft.com/de-de/library/bb124519(v=exchg.160).aspx
Gruß mik
Bsp.
(Import-CSV 'c:\datei.csv' -Delimiter ";") | %{
New-MailContact -Name $_.Name -ExternalEmailaddress $_.Email
}
Für die Parameter von New-MailContact siehe
https://technet.microsoft.com/de-de/library/bb124519(v=exchg.160).aspx
Gruß mik
Zitat von @127132:
Jetzt habe ich aber noch das Problem, dass mir quasi die Parameter nicht ausreichen.
? Die Doku hast du gelesen da gibt es diverse weitere, die oben waren nur ein simples Beispiel.Jetzt habe ich aber noch das Problem, dass mir quasi die Parameter nicht ausreichen.
Die CSV aus Outlook hat da nämlich folgendes Format:
Anrede|Vorname|Weitere Vornamen|Nachname|Suffix|Firma|Abteilung|Position|Straße geschäftlich|..... Insgesamt werden da 92 verschiedene Werte pro Kontakt erfasst.
Viele davon sind eben befüllt und auch wichtig.
Wenn du zusätzliche Eigenschaften für Mail-Kontakte haben willst musst du entweder das AD-Schema um deine gewünschten für Contact-Items erweitern.Anrede|Vorname|Weitere Vornamen|Nachname|Suffix|Firma|Abteilung|Position|Straße geschäftlich|..... Insgesamt werden da 92 verschiedene Werte pro Kontakt erfasst.
Viele davon sind eben befüllt und auch wichtig.
Hier ein Beispiel wie das für Benutzerobjekte geht:
Erstellen eines neuen Attributes für Benutzerobjekte im Active Directory Schema
Oder sinnigerweise die Kontakte in Outlook importieren und den Usern über einen Kontakteordner in einer SharedMailbox oder einem Öffentlichen Ordner bereitstellen.
Das ist ein separater Befehl -> Set-contact
In der Exchange Management Shell diesen Code ausführen (Vorher als .ps1 Datei speichern)
$CSV = Import-CSV -Delimiter ';' C:\DeineCSV.csv
foreach ($entry in $Csv) {
set-contact -identity $entry.alias -Phone $entry.Phone
set-contact -identity $entry.alias -MobilePhone $entry.MobilePhone
set-contact -identity $entry.alias -fax $entry.Fax
set-contact -identity $entry.alias -Company $entry.Company
set-contact -identity $entry.alias -Department $entry.Department
set-contact -identity $entry.alias -StreetAddress $entry.StreetAddress
set-contact -identity $entry.alias -Office $entry.Office
set-contact -identity $entry.alias -City $entry.City
}
Der linke Wert -XXXX mit dem Parameterstrich entspricht dem Feld im AD-Kontakt und der rechte $entry.XXXXXX entspricht der Spalte der CSV Datei, die erste Zeile der CSV enthält diese Angaben. Als CSV Trennzeichen (Delimiter) ist ein Semikolon definiert.
P.S. Es gibt für Set-Contact noch viele weitere Feldtypen -> Einfach set-contact googlen ;)
MfG
In der Exchange Management Shell diesen Code ausführen (Vorher als .ps1 Datei speichern)
$CSV = Import-CSV -Delimiter ';' C:\DeineCSV.csv
foreach ($entry in $Csv) {
set-contact -identity $entry.alias -Phone $entry.Phone
set-contact -identity $entry.alias -MobilePhone $entry.MobilePhone
set-contact -identity $entry.alias -fax $entry.Fax
set-contact -identity $entry.alias -Company $entry.Company
set-contact -identity $entry.alias -Department $entry.Department
set-contact -identity $entry.alias -StreetAddress $entry.StreetAddress
set-contact -identity $entry.alias -Office $entry.Office
set-contact -identity $entry.alias -City $entry.City
}
Der linke Wert -XXXX mit dem Parameterstrich entspricht dem Feld im AD-Kontakt und der rechte $entry.XXXXXX entspricht der Spalte der CSV Datei, die erste Zeile der CSV enthält diese Angaben. Als CSV Trennzeichen (Delimiter) ist ein Semikolon definiert.
P.S. Es gibt für Set-Contact noch viele weitere Feldtypen -> Einfach set-contact googlen ;)
MfG
Die Kontakte-Ordner kann man per Rechtsklick auf den Ordner in der Ordnerliste und an-haken des Kästchens als Adressbuch verfügbar machen.
Eine Script-Synclösung die auch für die Nutzung mit Smartphones funktioniert findest du hier:
Kontaktliste in Userpostfach importieren via PS
Eine Script-Synclösung die auch für die Nutzung mit Smartphones funktioniert findest du hier:
Kontaktliste in Userpostfach importieren via PS
Ich behaupte jetzt einfach mal, ich kapiere Exchange und Outlook nicht wirklich.
Wenn man damit erst anfängt normal . Es ist noch kein Meister vom Himmel gefallen.
Für sowas gibt's dynamische Adresslisten mit RecipientFilter und die Custom Attributes ...
Arbeite dich erst mal Schritt für Schritt ein, alles auf einmal bringt nichts.
Arbeite dich erst mal Schritt für Schritt ein, alles auf einmal bringt nichts.