TargetAddress

TargetAddress mit MailboxUser
Früher war das Feld offiziell nur für MailContacts und Mailuser nutzbar. Sie können das Feld aber auch auf MailboxUser setzen und tatsächlich leitet Exchange dann jede Mail an das Postfach an die Target Address weiter.
Seit Exchange 2010 kann man nun aber sagen, dass die auch offiziell erlaubt ist, da Microsoft selbst für die Migration in die Cloud diesen Trick nutzt, um Mails an ein anderes Postfach zu leiten, während Inhalte noch synchronisiert werden.

Das Feld TargetAddress gehört schon sehr lange zum Exchange Schema und kann theoretisch auf jedem Empfänger gesetzt werden. Allerdings sollten Sie wissen, wie sich ein Inhalt in diesem Feld auswirkt, ehe sie es außerhalb der normalen Verwendung einsetzen. Dann aber kann TargetAddress ihnen sehr gut helfen. Das erste mal habe ich diese besondere Verwendung vor vielen Jahren bei einer Migration mit den Quest Tools kennen gelernt und seit dem mehrfach bei Migrationen eingesetzt.

Der Normalgebrauch

Normalerweise sind im Active Directory alle Empfänger vorhanden, die Exchange als gültige Empfänger auch in der globalen Adressliste anzeigt. Die meisten Exchange Installationen pflegen im Active Directory nur die internen Empfänger wie:

All diesen Empfängern ist gemeinsam, dass die Empfänger letztlich intern liegen und die Mail auf einem Server innerhalb ihres Active Directory landet. Aber das Active Directory und Exchange können noch mehr.

Exchange Empfängertypen

Neben den aktiven Empfängern kann das Active Directory und Exchange auch externe Ziele verwalten. Dazu zählen:

Diese Empfänger tauchen mit im Adressbuch von Outlook auf (GAL) aber die Postfächer selbst liegen außerhalb ihrer Exchange Organisation. Sie können so z.B. externe Empfänger, deren Postfach in einer anderen Firma oder einem Provider liegen, in ihre Adressbuch mit aufnehmen. Allerdings sollten sie abwägen, ob wirklich ALLE Nutzer in ihrer Exchange Organisation auch ihre privaten Kontakte sehen und nutzen sollen. Hier sind persönliche Kontakte im Postfach oder einem öffentlichen Ordner vielleicht besser.

Bei diesen beiden Objekte steht aber im Feld "TargetAddress" die externe Mailadresse, an die Exchange die Mails weitergibt.

MailUser und Zieladresse Kontakt und Zieladresse

Solche Kontakte sind auch erforderlich, wenn Sie z.B.: bei einem der anderen Empfänger eine Weiterleitung einrichten wollen. Klassischer Fall: Sie haben zwei Exchange Organisationen, die sie miteinander verbinden wollen. (Siehe auch MSXFAQ.DE - Verbinden von Organisationen und Verzeichnisabgleich)

Die klassische Weiterleitung an andere existierende Exchange Empfänger

Oft werden Kontakte aber auch zur Weiterleitung genutzt. Jedes Postfach hat unter den Zustelloptionen die Einstellung einer Weiterleitung auf dem Server.

Weiterleitung an andere Empfänger

Hier kann man natürlich eine Weiterleitung an einen anderen Empfänger in der gleichen Exchange Organisation aber auch auf einen Kontakt eintragen. Allerdings kann man hier keine Freitextadresse eintragen. Das Ziel muss im Active Directory existieren.

Weiterleiten mit TargetAddress und Postfächern

Sie können sich nun natürlich denken, was nun kommt:

Wie verhält sich Exchange, wenn Postfächer eine "TargetAddress" bekommen ?

Ich habe mir dazu die gängigen Empfängerobjekte vorgenommen und mit ADSIEDIT einfach das Feld TargetAddress" mit einer externen SMTP-Adresse gefüllt und geschaut was passiert.

Achtung:
Natürlich ist das alles nur bedingt durch die Exchange Commandlets und Anleitungen abgedeckt und ich kann nicht garantieren, dass das Verhalten nach dem nächsten Servicepack oder in der nächten Version weiterhin so vorhanden ist.

Achtung:
Die TargetAddress muss zwingend ein Postfach außerhalb der Exchange Organisation sein, da Exchange die Ziele nicht mehr intern gegen das Adressbuch prüft, sondern immer extern versendet.

Achtung:
Wenn Sie ein Postfach mit "TargetAddress" von einer Speichergruppe in eine andere Speichergruppe verschieben, dann entfernt Move-Mailbox die Targetadress ohne Rückfrage oder Warnung. Da die Platzhalterpostfächer aber keinen Inhalte haben, ist ein Verschieben eher im Bereich der Migration ein Thema und dann dieses Verhalten sogar als Vorteil gewertet werden.

"WINMAIL.DAT"
Bei Kontakten können Sie das Format der Mails per GUI einstellen. bei Postfächern allerdings nicht. Hier kann es ratsam sein, das Feld MapiRecipient auf False zu setzen, damit auch Weiterleitungen per Postfach ohne WINMAIL.DAT im alten Zielsystem ankommen.

Wir bewegen und schon ein Stück abseits der ausgetretenen Pfade bisheriger Administrator. Das erkennen sie schon daran, dass es keine GUI gibt, um eben das Feld "TargetAddress" an solchen fremden Objekten zu pflegen oder anzuzeigen.

Empfängerobjekt Exchange Version Normalzustand Sichtbar in der GUI sinnvoll möglich
User Mailbox 4.0 und höher leer, nicht genutzt Nein Möglich
LinkedMailbox 5.5 und höher leer, nicht genutzt Nein Möglich
Ressourcen Mailbox 2007 und höher leer, nicht genutzt Nein Möglich
Verteiler 4.0 und höher leer, nicht genutzt Nein Nein
Da Exchange die Mail an die Mitglieder auffächert
Abfragebasierter Verteiler 2003 und höher leer, nicht genutzt Nein Nein
Da Exchange die Mail an die Mitglieder auffächert.
Öffentlicher Ordner 4.0 und höher expf:<OrdnerGUID> Nein NEIN (2007)
NDR wird erzeugt
Mailuser (AD-Benutzer mit Mailadresse) 2000 und höher Externe Adresse Ja Erforderlich, damit das Objekt korrekt konfiguriert ist.
Mailkontakt 4.0  und höher Externe Adresse Ja Erforderlich, damit das Objekt korrekt konfiguriert ist.

Interessant sind also die drei Einträge bei den verschiedenen Postfächern, die tatsächlich möglich sind. Doch wozu können diese genutzt werden ?

Exchange 2007 und TargetAddress

Im Bezug auf Exchange 2007 hat die TargetAddress als "ExternalEmailAddress" niedergeschlagen. Auch hier kann man die Adresse bei Postfächern setzen. Aber man muss einige Aktionen beachten:

RUS ist nicht immer aktiv
Wenn man mit "Enable-Mailbox" den Parameter "-PrimarySmtpAddress" verwendet, dann bewirkt das, dass auch, dass "-EmailAddressPolicyEnabled" nicht mehr aktiv ist. Ein nachfolgender Set-Mailbox -EmailAddressPolicyEnabled $true" biegt das dann wieder hin.

Verschiebt man eine Mailbox, dann wird die TargetAddress komplett gelöscht !!.
eine Ideale Migrationsstrategie, wenn man mehrere Datenbanken hat, die Platzhalterpostfächer in einer eigenen Datenbank hält und bei der Migration dann die Postfächer verschiebt.

Man kann also sagen, das Exchange 2007 durchaus die Umleitung mit "TargetAddress" unterstützt, aber bei der Verschiebung die Einstellungen verloren gehen. Auch gibt es keine Möglichkeit, die TargetAddress per GUI oder Exchange Commandlet zu setzen. man muss also per LDAP direkt die Änderungen durchführen. Schade eigentlich.

Details zur TargetAddress

Nun ist klar, dass wir in dem Feld "TargetAddress" auch bei Postfächern andere Adressen eintragen können. Aber ein paar Dinge gibt es dabei noch zu beachten:

Gerade der letzte Punkt kann natürlich Exchange Administratoren zum Wahnsinn treiben, wenn die Mail an einen Empfänger über eine Targetadresse weitergeleitet werden soll, aber die Mail immer über die Connectoren "nach außen" geht, statt Sie lokal zuzustellen. Das ist aber für eine andere Konfiguration von Vorteil: Wenn zwei Exchange Organisationen den gleichen Adressraum nutzen, ist diese Funktion wichtig, damit Mails auch die eigene Exchange Organisation verlassen können, auch wenn die Zieladresse eigentlich in meiner autoritativen Domain liegen. Allerdings sollten Sie über einen entsprechenden SMTP-Connector den Mails den Weg zur anderen Organisation weisen, nicht dass die Mails per DNS Richtung Internet direkt wieder bei ihnen zurückkommen.

Im Active Directory Schema können Sie gut die Definition des Felds auslesen.

TargetAddress im Schema

Der Inhalt ist per Default im globalen Katalog und wird sogar indexiert. Das sind erforderliche Voraussetzungen, dass alle Exchange Server in der Organisation die Daten schnell erhalten.

Migration und Koexistenz

Die Option, die Daten eines Postfachs an eine andere "externe" Adresse weiterzuleiten ist eine sehr interessante Funktion speziell für die Migration von Postfächern zwischen Firmen. Wenn Sie zwei Exchange Organisationen betreiben, dann können Sie diese über Connectoren und einen Verzeichnisabgleich (Siehe Verbinden von Organisationen und Verzeichnisabgleich) natürlich verbinden. Die Postfächer auf der einen Seite tauchen in der anderen Organisation als Kontakte auf. Aber wenn nun im zweiten Schritt eine Migration ansteht, dann müssen sie erst wieder die Kontakte und Benutzer mit Postfächern konvertieren. Das ist nicht wirklich sinnvoll.

Wenn Sie daher planen, dass aus einer Koexistenz eine Migration werden soll, dann können Sie anstelle von Kontakten gleich deaktiviere AD-Benutzer mit einer Mailadresse erstellen oder sogar gleich ein Postfach mit einer Weiterleitung über Targetadressen.

Migration mit TargetAddress

Der Vorteil besteht darin, dass bei der Migration nicht erst der Zielkontakt gelöscht und durch ein Postfach ersetzt werden muss, welches dann erst die Daten aufnehmen kann und dann in der Quelle das Postfach durch einen Kontakt ersetzt werden muss. Das ist sehr viel "Unruhe" bei der Migration. Existieren jedoch auf beiden Seiten schon die Postfächer, dann kann man sogar schon vorher z.B. alle Mails älter als 6 Monate in das Ziel kopieren und bei der Umschaltung dann mit viel weniger Datenmengen hantieren.

Allerdings muss man natürlich aufpassen, dass bei einer Teilweisen Migration die Benutzer auf der einen Seite nicht mit dem alten Postfach über Stellvertreterfunktionen weiter arbeiten. Ein guter Projektplan ist zwingend erforderlich.

Unterstützung durch Net at Work:
Ich kann ihnen hier nur anbieten, dass wie sie bei solchen "Cross-Organisation" Migrationen unterstützen, damit die Ausfallzeiten minimal sind. Übrigens eignet sich dieses Verfahren mit Postfächer auch für die Migration von anderen Mailsystemen.

Target Address und Autodiscover

Passend zur Migration und Weiterleitung wirken die Einträge im Feld "TargetAddress" sich auch bei Autodiscover aus. Wenn eine Mail nicht in das Postfach zugestellt wird, dann macht es auch keinen Sinn, wenn sich Outlook mit diesem Postfach verbindet. Ein Client, der einen Exchange Server in dieser Organisation per Autodiscover fragt, bekommt einen Redirect auf die Targetadresse und versucht sich dann mit einem Autodiscoverdienst dieser Domäne der Targetadresse zu verbinden.

So ist es einfach möglich, ein Postfach von einer Exchange Organisation in eine andere Organisation zu verschieben und zumindest Outlook 2007/2010 automatisch umzuleiten.

Target Address und "Autoritative Domains

Eine Besonderheit gibt es zu beachten, wenn ihre Exchange Organisation z.B.für "domain.tld" autoritativ zuständig ist und die Mailadresse in "TargetAddress" auch die Forma "username@domain.tld" hat. Je nach Exchange Version wird die Mail dann über den nächsten SMTP-Connector nach aussen transportiert oder nicht

Insofern sollten Sie bei TargetAddress auf der sicheren Seite sein und eindeutige Routingdomains verwenden.

Anlage: Testergebnisse

Folgender Abschnitt fasst die Ergebnisse meiner Tests mit dem Feld "TargetAddress" zusammen. Teilweise ist hier gut zu erkennen, dass eine Änderung von Feldern an den Exchange Verwaltungstools vorbei durchaus auch unerwünschte Effekte haben kann

Es ist also durchaus ein Restrisiko vorhanden, wenn Sie mit ADSIEDIT oder anderen Skripten direkt für Exchange relevante Felder verändern.

ForwardingSmtpAddress bzw. msexchgenericforwardingaddress

Seit Exchange 2010 gibt es aber noch ein weiteres Feld, welches in der Hilfe nur mit "The ForwardingSmtpAddress parameter specifies a forwarding SMTP address." beschrieben wird. Sie können es mit "Set-Mailbox" einfach setzen und wieder entfernen.

[PS] C:\>Set-Mailbox mailboxuser -ForwardingSmtpAddress test@msxfaq.test
[PS] C:\>Get-Mailbox mailboxuser | fl *forw*,name

DeliverToMailboxAndForward : False
ForwardingAddress          :
ForwardingSmtpAddress      : smtp:test@msxfaq.test
Name                       : mailboxuser

[PS] C:\>Set-Mailbox mailboxuser -ForwardingSmtpAddress $null

Wenn ich mit meinen Diagnosetool die Änderungen protokollieren lasse, dann sehe ich auch, dass das Commandlet genau ein Feld bei dem Objekt ändert.

path              : LDAP://CN=mailboxuser,OU=msxfaq,DC=E2010,DC=local
adspath           : {LDAP://CN=mailboxuser,OU=msxfaq,DC=E2010,DC=local}
distinguishedname : {CN=mailboxuser,OU=msxfaq,DC=E2010,DC=local}
action            : Modify
field             : msexchgenericforwardingaddress
value             : {smtp:test@test.de}

Bislang habe ich aber noch nicht ermittelt, welche weiteren Auswirkungen dieses Feld hat. Im Schema ist es natürlich definiert.

Interessanterweise wird es auch "kopiert", wenn ein Benutzer kopiert wird. Es ist erstmals mit dem Schemaupdate von Exchange 2010 SP1 mit gekommen. Ich gespannt, für welchen Sonderfall dieses neue Feld vorgesehen ist.

Weitere Links

Keywords:TargetAddress Weiterleitung Interorg Migration Koexistenz ADSIEDIT Routing