Tags: Exchange, Active Directory, PowerShell, E-Mail
Kontakte sind ähnlich wie normale Benutzerpostfächer ebenfalls Empfänger von Nachrichten. Sie stehen den Anwender in Outlook und OWA über das Adressbuch zur Verfügung. Die Pflege der Kontakte erfolgt allerdings nicht im Outlook des Benutzers, sondern auf der Ebene von Exchange.
Kontakte werden überwiegend genutzt, um externe Mail-Adressen möglichst vielen Benutzern zur Verfügung zu stellen. Kandidaten dafür sind beispielsweise die Hausverwaltung oder Bezugsquellen von Bürobedarf. Man kann Kontakte auch verwenden, um ein Postfach an eine externe Adresse weiterzuleiten.
Kontakte versus Benutzer
Exchange unterscheidet zwischen zwei Arten von Kontakten, den E-Mail-Kontakten und den E-Mail-Benutzern. Letztere sollte man nicht mit einem normalen Postfachbenutzer verwechseln. Der Mail-Benutzer ist ein normaler Account im Active Directory, welcher aber sein Postfach bei einer anderen Organisation hat.
Ein solcher Kontakt eignet sich etwa für Leiharbeiter oder Dienstleister. Über den E-Mail-Benutzer lässt sich dieser externe Mitarbeiter anschreiben und kann so am Mail-Fluss der Organisation teilnehmen.
Das Gegenstück dazu bildet der E-Mail-Kontakt. Dieser ist ebenfalls als Objekt im Active Directory vorhanden, kann sich aber nirgendwo in der Organisation anmelden oder irgendwelche Berechtigungen erhalten. Der Benutzer ist in der Organisation physisch quasi nicht existent, sondern ist nur per Mail erreichbar.
E-Mail-Kontakt anlegen
Die einfachste Möglichkeit zum Erstellen eines Kontakts findet sich in der Exchange ECP unter Empfänger => Kontakte. Dieses Verfahren ist bei Exchange on-prem und Exchange Online gleich.
Nach dem Klick auf das +-Symbol öffnet sich ein Drop-Down-Menü, daraus wählt man E-Mail-Kontakt.
Das anschließend angezeigte Formular ist weitgehend selbsterklärend und erwartet die Eingabe des Namens, der externen Mail-Adresse oder eines Alias. Die Pflichtfelder sind wie üblich mit einem Stern markiert.
Bevorzugt man für diese Aufgabe PowerShell, dann ist dafür das Cmdlet New-MailContact zuständig. Das Äquivalent zum obigen Beispiel auf der GUI würde so aussehen:
New-MailContact -DisplayName "Hausmeister" -Name "Herr Schulz" `
-ExternalEmailAddress "Hausmeister-Schulz@firma.com" -Alias "Hausmeister_Schulz" `
-OrganizationalUnit "smartsocke.com/Kontakte"
Neuen E-Mail-Benutzer erstellen
Den zuständigen Befehl findet man in der ECP im gleichen Menü wie für den E-Mail-Kontakt. Beim E-Mail-Benutzer wird es aber etwas komplizierter, da es wie beschrieben den Account bereits im Active Directory geben kann. Entsprechend muss man ähnlich wie bei der Anlage eines Postfaches einen bereits bestehenden Benutzer auswählen oder einen neuen anlegen.
Der E-Mail-Benutzer bekommt zudem ebenfalls eine interne Mail-Adresse zugewiesen, je nachdem wie die Address-Policy in der Organisation ausschaut.
Wenn die beiden in unserem Beispiel angelegten Kontakte nun Mitglied einer Verteilergruppe werden sollen, so ist dies ebenfalls möglich.
Die PowerShell-Variante für das Anlegen eines neuen E-Mail-Benutzers bedient sich des Cmdlets New-MailUser. Seine Parameter stimmen weitgehend mit jenen von New-MailContact überein, ihre Bedeutung erschließt sich daher recht einfach:
$password = Read-Host "Passwort: " -AsSecureString
New-MailUser -Name "Max Mustermann" -ExternalEmailAddress mm@contoso.de `
-UserPrincipalName mm@myCompany.de -Password $password
Im Vergleich zur ECP zeigt PowerShell seine Stärken besonders bei Bulk-Operationen. Damit lassen sich Kontakte etwa aus einer CSV-Datei einlesen, und zwar nach dem gleichen Muster wie beim Anlegen von AD-Konten.
Täglich Know-how für IT-Pros mit unserem Newsletter
Roland Eich ist gelernter Fachinformatiker für Systemintegration und in der IT seit über 14 Jahren zu Hause. Roland deckt aufgrund seiner Erfahrungen ein breites Spektrum der Microsoft-Produktpalette ab.Zudem besitzt er verschiedene Zertifizierungen (MCITP, MCSA und MCSE, ITIL, PRINCE2).
// Kontakt: E-Mail //
Ähnliche Beiträge
- Verteilergruppen für Exchange in PowerShell anlegen und verwalten
- Abwesenheitsnotiz (Out of Office) in Exchange für andere User mit PowerShell oder in der ECP konfigurieren
- Microsoft Exchange: Unterschiedliche Anzeigenamen für interne und externe Mails nutzen
- Postfächer in Exchange (Online) mit PowerShell verwalten
- Mail-Adressen für mehrere Domänen in Exchange bereitstellen
Weitere Links
4 Kommentare
Hallo,
gutes Thema, aber leider nicht vollständig beschrieben. Warum gibt es eine Organisationseinheit bei externen Kontakten? Verteilergruppen werden zwar angesprochen und die GUI dazu gezeigt, aber wie werden Verteilergruppen per CmdLet erstellt?
Guten Tag Ralph,
vielen Dank für Ihren Post, das mit der Organisationseinheit ist normal, alles was Sie anlegen, egal ob Benutzer, Gruppe, Kontakt etc. muss doch in einer OU abgelegt werden, da verstehe ich ehrlich gesagt ihre Frage nicht, was Sie da genau wissen möchten?
Bzgl. Gruppen, es geht hier darum zu zeigen, wie Kontakte angelegt werden. Was in diesem Artikel mit der Gruppe gezeigt wird, ist nur ein praktisches Beispiel.
Wie Verteilergruppen angelegt werden finden Sie in anderen Artikeln auf Windowspro, da müssten Sie bitte einmal über die Suchfunktion nach suchen.
Sollten Sie weitere Fragen haben, sprechen Sie mich gerne an.
Beste Grüße
Roland Eich
Wenn ich einen e-Mailkontakt anlege, hatte ich bei Exchange 2010 noch die Option, ihn im Adressbuch nicht anzeigen zu lassen. Geht das nicht mehr, und wenn doch, wie würde das Script dann aussehen? Der Fall: eine große Menge e-Mailkontakte soll angelegt werden, aber nur über einen Verteiler erreichbar sein.
Gruß, Dennis
Guten Abend Dennis,
haben Sie denn schon in der ECP nachgeschaut ob es diese Option ggf. dort gibt? Wenn ja, dann gibt es ihn natürlich auch in der Powershell. ;)
Für den Ausbau Ihres Scripts würde ich Ihnen gerne folgenden Artikel empfehlen: https://www.windowspro.de/roland-eich/exchange-online-powershell-adminis...
Im Abschnitt "PowerShell-Kommandos aus Konsole übernehmen" können Sie sich anschauen wie der Powershellbefehl ausschauen würde, wenn Sie den Kontakt aus dem Adressbuch entfernen würden.
Diesen könnte man dann entweder beim anlegen des Kontaktes oder im Nachhinein beim Kontakt via Powershell ändern.
Viel Erfolg bei Ihrem Vorhaben.
herzliche Grüße
Roland Eich