Exchange 2016 und 2019 mandantenfähig konfigurieren

    Mandantenspezifische Kontakte in ExchangeMan­danten­fähige Bereit­stellung meint, dass sich mehrere Organi­sationen, die normaler­weise keine der gängigen Objekte (etwa Adress­listen) gemein­sam nutzen, eine Instal­lation teilen. Exchange ist für einen solchen Betrieb eigent­lich nicht ausge­legt, lässt sich über Regeln und Ein­stellungen aber ent­sprechend anpassen.

    Das Exchange-Design sieht seit jeher vor, dass die Mitarbeiter eines Unter­nehmens möglichst unkompliziert zusammen­arbeiten können. Die Nutzung von Exchange für mehrere Mandanten erfordert jedoch, dass nachträglich Barrieren eingezogen werden.

    Ziel einer Konfiguration, die mehrere Unternehmen oder organisatorische Einheiten auf einem Exchange-Server zulässt, ist es, dass User einer Firma den Eindruck erhalten, als würden sie das System alleine nutzen. Der Einblick in die Daten der anderen Mandanten soll ihnen verwehrt bleiben.

    Support nur für ausgewählte Mechanismen

    In Exchange 2010 gab es noch den Schalter /hosting, den Microsoft jedoch mit der Version 2013 aufgegeben hat. Mittel der Wahl sind seitdem Adress­buch­richt­linien und Berechtigungen im Active Directory, wobei für diesen Zweck nur mehr eine Exchange Organization verwendet wird.

    Microsoft unterstützt aber nicht beliebige Maßnahmen, um Mandanten­fähigkeit zu erreichen, sondern benennt in diesem Dokument für Exchange 2013 mehrere Techniken, für die es keinen Support gibt.

    Eigene OUs für Mandanten

    In der folgenden Anleitung teile ich zwei Firmen im Active Directory so auf, dass mit ihren Usern und Verteiler­gruppen in eigenen OUs enthalten sind.

    Für jeden Mandanten wird eine eigene OU im Active Directory angelegt.

    Über Outlook bekommen die Benutzer aber nach wie vor alle Konten angezeigt.

    Standardmäßig zeigt Outlook alle Benutzer sämtlicher Mandanten an.

    Daher muss man in Exchange ECP für jedes Unternehmen neue Adresslisten für User, Gruppen oder Räume anlegen. Es würde aber ebenfalls ausreichen, nur eine Adressliste pro Firma anzulegen, in der dann alle Objekte enthalten sind. Aber das wäre für die Anwender dann nicht so übersichtlich.

    Adresslisten für jeden Mandanten lassen sich über die Exchange ECP anlegen.

    Wichtig dabei ist die Filterung nach Firma, es sind dafür allerdings auch andere Kriterien möglich. Zudem sollte man im Sinne des Benutzer­komforts die Adresslisten etwas gliedern, um den Anwender die Navigation zu erleichtern.

    Im nächsten Schritt müssen mandanten­spezifiche globale Adresslisten und Offline-Adressbücher erzeugt werden. Dies geht nicht über die Konsole, sondern nur über die Exchange-PowerShell mit folgenden Kommandos:

    New-GlobalAddressList "Company A GAL" `
    -RecipientContainer "fabrik.local/Company/Company A" -IncludedRecipients AllRecipients

    New-GlobalAddressList "Company B GAL" `
    -RecipientContainer "fabrik.local/Company/Company B" -IncludedRecipients AllRecipients

    Mandanten­spezifiche globale Adresslisten mit PowerShell erzeugen

    New-OfflineAddressBook "Company A OAB" -AddressLists "Company A GAL"

    New-OfflineAddressBook "Company B OAB" -AddressLists "Company B GAL"

    Offline-Adressbücher für die jeweiligen Mandanten in PowerShell erstellen

    Für die eben angelegten Adresslisten und -bücher erzeugt man nun die erforderlichen Adress­buch­richtlinien:

    Adress­buch­richtlinien für jeden Mandanten definieren

    Danach weist man die jeweilige Richtlinie den betreffenden Konten zu. Ist diese Aufgabe nur für wenige Benutzer zu erledigen, dann kann man dafür die Exchange-Konsole bemühen, ansonsten greift man zur PowerShell.

    Für die erste Variante öffnet man in der Exchange-Konsole unter Empfänger => Postfächer die Eigenschaften einer Mailbox und wechselt zu Postfachfunktion.

    Adress­buch­richtlinie an einzelnes Postfach über die Exchange-Konsole zuweisen

    Hier wählt man nun die passende Richtlinie aus.

    Für eine größere Anzahl von Postfächern kann dies zu aufwändig sein, hier hilft PowerShell:

    Get-Mailbox -OrganizationalUnit "fabrik.local/Company/Company A" |
    Set-Mailbox -AddressBookPolicy "Company A AdressBookPolicy"

    Get-Mailbox -OrganizationalUnit "fabrik.local/Company/Company B" |
    Set-Mailbox -AddressBookPolicy "Company A AdressBookPolicy"

    Adressbuchrichtlinie an alle Postfächer eines Mandaten zuweisen per PowerShell

    Die Konfiguration ist damit abgeschlossen.

    Nach Abschluss der Konfiguration sollten Benutzer in Outlook nur mehr Einträge ihrer eigenen Adresslisten sehen.

    Meldet sich nun ein User, welcher unter die beschriebenen Richtlinien fällt, an OWA oder Outlook an, so sollte dieser nur noch die Adresslisten sehen, die für ihn bestimmt sind.

    Zu einer mandantenfähigen Konfiguration von Exchange gehört natürlich auch, dass jedes Unternehmen oder jede Tochterfirma über Mail-Adressen mit ihrer eigenen Domäne erreichbar ist. Der Beitrag Mail-Adressen für mehrere Domänen in Exchange bereitstellen beschreibt, wie man dabei vorgeht.

    1 Kommentar

    Joey sagt:
    9. Oktober 2020 - 16:46

    Habe es strikt nach der Anleitung durchgeführt, leider sehe ich noch Alle Benutzer und Alle Kontakte Adresslisten im Adressbuch. Alle Benutzer wurden über die Shell angelegt von Exchange selbs denk ich.

    Was könnte ich falsch gemacht haben.

    Danke