Hybrid Delegate

Wenn Exchange Postfächer On-Premises und andere in Exchange Online liegen, dann sind für Stellvertreter noch einige Dinge einzustellen. Lange Zeit mussten Stellvertreter beide auf der gleichen Plattform aktiv sein. Stellvertretungen von On-Premises auf Cloud-Postfächer oder umgekehrt waren lange nicht möglich. Dies ist nun möglich aber erfordert Anpassungen durch den Exchange Administrator.

Stellvertreter On-Premises und Cloud

Ehe ich auf die Stellvertreter-Funktion in einem Hybrid-Umgebung eingehen, d.h. bei der die beiden Postfächer nicht in der gleichen Umgebung liegen, möchte ich noch einmal die Stellvertretungen ohne Hybrid und insbesondere die der Cloud vorstellen:

Wichtig
Informationen aus den AD-Objekt-Berechtigungen oder den Exchange Postfachberechtigungen (msexchMailboxSecurityDescriptor) werden niiht durch ADSync in die Cloud repliziert. In diesen Feldern stehen SIDs, die es so in Exchange Online nicht gibt und von ADSync auch nicht umgeschrieben werden. Das bedeutet für ihr Provisioning aber auch, dass die Vergabe von Berechtigungen auf Postfächer in Exchange Online nicht mehr auf dem lokalen Exchange Server erfolgen können.

Umgebung Exchange On-Premises Exchange Online

Senden Als

Das Rechte wird auf dem lokalen AD-Konto zum Postfach in den ACLs gegeben. Es wird nicht durch ADSync mit der Cloud abgeglichen.

Die Berechtigungen sind in der Cloud unabhängig zu vergeben

Senden im Auftrag von

Diese Recht steht im Feld msexchMailboxSecurityDescriptor. Der Inhalt des Felds wird nicht durch ADSync in die Cloud repliziert. Bei der Migration eines Postfachs in die Cloud versucht aber der MRS die berechtigten Objekte auf Cloud-Objekte umzusetzen und das Postfach in der Cloud entsprechend zu berechtigen.

Die Berechtigungen sind in der Cloud unabhängig zu vergeben

Voller Mailboxzugriff

Diese Recht steht im Feld msexchMailboxSecurityDescriptor. Der Inhalt des Felds wird nicht durch ADSync in die Cloud repliziert. Bei der Migration eines Postfachs in die Cloud versucht aber der MRS die berechtigten Objekte auf Cloud-Objekte umzusetzen und das Postfach in der Cloud entsprechend zu berechtigen.

Die Berechtigungen sind in der Cloud unabhängig zu vergeben

Bei der Migration von Postfächern in die Cloud versucht übrigens der MRS (Mailbox Replication Service) auch die Rechte umzusetzen. Es ist also wichtig, dass alle Exchange Empfänger auch in der Cloud bekannt sind. Daher sollten Sie bei ADSync immer alle Benutzer replizieren, die für Exchange relevant sind.

Voraussetzungen

Damit die Exchange Server mit den neuen Funktionen umgehen können, ist ein Update erforderlich. Die Mindestversionen auf allen Exchange Servern sind:

Exchange Einstellung

2010 SP3

Die globale Konfiguration ist nicht verfügbar aber sie können die Einstellung pro Benutzer machen

2013 CU9 (Jun 2015)

Die globale Konfiguration ist nicht verfügbar aber sie können die Einstellung pro Benutzer machen

2013 CU10+ (Sep 2015)

Aktivieren Sie die globale Einstellung und passen Sie bestehende Benutzer an

2016

Aktivieren Sie die globale Einstellung und passen Sie bestehende Benutzer an

2019

RTM

Die Updates müssen auf allen Servern installiert sein. Neuere Versionen sind natürlich auch möglich. Zudem müssen Sie eine aktuelle Version des ADSync-Moduls haben, welche die Berechtigungen entsprechend in die Cloud überträgt.

Beachten Sie, dass Office 365 F1 Benutzer keine Stellvertreter auf das eigene Postfach einrichten können. Sie können aber auf andere Postfächer zugreifen, bei denen Sie als Stellvertreter eingetragen sind. Wobei das mit OWA nicht ganz so elegant geht wie mit Outlook. ein F1-Benutzer hat aber keine Outlook Lizenz im Rahmen von Office 365.

Organisationsweite On-Premises Einstellung

Damit Benutzer auf dem lokalen Exchange Server überhaupt Zugriff auf Postfächer in der Cloud durchführen können, müssen Sie auf der Ebene der Exchange Organisation folgenden Schalter umlegen.

# Anzeigen der aktuellen Einstellung
(get-OrganizationConfig).ACLableSyncedObjectEnabled

#Aktivieren
Set-OrganizationConfig `
   -ACLableSyncedObjectEnabled $true

Diese Einstellung sorgt auch dafür dass alle Benutzer, die ab jetzt von On-Premises in die Cloud migriert werden, auch für die den Zugriff für Stellvertreter freigeschaltet sind. Alle vorher verschobenen Benutzer sind es aber noch nicht.

Diese Einstellung wirkt sich nur auf Postfächer aus, die danach in die Cloud verschoben werden.

Anpassung der "Remote Mailbox"

Alle Benutzer, die vor der globalen Anpassung schon in die Cloud verschoben wurden, haben aber einen falschen Wert im Feld "msExchRecipientDisplayType". Hier steht noch der Wert "-2147483642" drin. Generieren Sie einfach mal einen Bericht über alle Postfächer, die noch diesen Wert haben.

Get-ADUser `
   -Filter * `
   -Properties msExchRecipientDisplayType `
| where {$_.msExchRecipientDisplayType -eq -2147483642}

Sie sollten hier alle Postfächer erhalten, die vor der globalen Einstellung in die Cloud migriert wurden. Leider habe ich kein Exchange Commandlet gefunden, welches diesen Wert liefert. Im Sep 2024 hat Microsoft folgendes Sample veröffentlicht:


Quelle: https://learn.microsoft.com/en-us/exchange/hybrid-deployment/set-up-delegated-mailbox-permissions

Allerdings liefert ein "Get-RemoteMailbox" überhaupt nicht dieses Property zurück. Für kleinere Umgebungen wird es daher am einfachsten sein, alle Objekte anzufassen, bei denen der Wert nicht gesetzt ist.

Get-RemoteMailbox `
   -Resultset unlimited `
| Set-RemoteMailbox `
   -ACLableSyncedObjectEnabled

Die Exchange Powershell und das AD sind smart genug, nur die Objekte zu ändern, die geändert werden müssen.

Achtung:
Bei größeren Umgebungen sollten Sie das Throttling von ADSync/EntraID-Connect beachten.

Quelle: Factors influencing the performance of Microsoft Entra Connect
https://learn.microsoft.com/en-us/entra/identity/hybrid/connect/plan-connect-performance-factors

Dann können Sie per AD-PowerShell erst mal nur die noch nicht verarbeiteten Objekte suchen und über "ResultSetSize" die Teilmengen anpassen. Die "100" ist hier nur ein Beispiel.

$dc= (Get-ADDomainController -NextClosestSite -Service GlobalCatalog -Discover).hostname

Get-ADUser `
   -Server "$($dc):3268" `
   -LDAPFilter '(msExchRecipientDisplayType=-2147483642)' `
   -ResultSetSize 100 `
| foreach {
   Write-Host "Processing $($_.distinguishedname)"
   Set-RemoteMailbox `
     -Identity $_.distinguishedname `
      -ACLableSyncedObjectEnabled
}

Wenn ein Lauf durch ist und ADSync die Einträge ebenfalls übertragen hat, dann können Sie den nächsten Schwung angehen. Die Änderungen werden sehr schnell aktiv, da ihr lokales Outlook ja immer den lokalen Exchange Server fragt und dieser abhängig von den globalen Einstellungen und diesem Feld die entsprechenden Postfächer bei einer Autodiscover-Abfrage mit ausliefert oder eben nicht.

Sonderfall "New-RemoteMailbox"

Die neue Funktion scheint durch den MRS umgesetzt zu werden, der bei der Umstellung einer Mailbox in die Cloud auch aus der lokalen "Mailbox" eine "Remote-Mailbox" macht. Allerdings berücksichtigt dieser Prozess natürlich nicht die Postfächer, welche Sie direkt in der Cloud anlegen. Folgender Befehl erzeugt (Stand April 2019) ein nicht komplett konfiguriertes Postfach in der Cloud.

# Exchange OnPremises
New-RemoteMailbox `
   -UserPrincipalname remoteuser@msxfaq.net `
   -Name "RemoteMailbox

Das Objekt hat dann wieder den Wert "-2147483642" im Feld "msExchRecipientDisplayType". Sie müssen dann den Wert wieder nachträglich anpassen oder direkt mit angeben

# Exchange OnPremises Besser
New-RemoteMailbox `
   -UserPrincipalname remoteuser@msxfaq.net `
   -Name "RemoteMailbox `
   -ACLableSyncedObjectEnabled

Das gleiche Vorgehen gilt auch für "Enable-RemoteMaibox"

Das Verhalten ist laut Microsoft aber "by Design".


Quelle: https://support.microsoft.com/en-us/help/4051497/a-remote-mailbox-created-in-On-Premises-active-directory-is-not

ADSync

Alle bislang gemachten Änderungen finden "On-Premises" lokal statt. Für das Update der Objekte in Exchange Online ist ADSync zuständig, Daher lohnt sich ein Blick auf die Konfiguration in ADSync. In dem Rule-Editor lässt sich recht einfach auf das Feld "msExchRecipientDisplayType" filtern.

Beim nächsten "Delta-Abgleich" ist dann direkt die Änderung zu sehen.

Diese Änderung wird zwar in die Cloud übertragen, aber hat für den Zugriff als Stellvertreter anscheinend keine Funktion. Da ist der Wert i lokalen Active Directory maßgeblich.

Weitere Links