EXO Empfängerrichtlinien und EmailAddressPolicyEnabled

Über den Schalter "EmailAddressPolicyEnabled" wird in Exchange gesteuert, ob die Mailadresse und ProxyAddresses eines Exchange Empfängers über die Empfängerrichtlinien oder manuell verwaltet werden. In Exchange Online gibt es den Schalter aber steht auf $False. Schludert hier ADSync oder ist das Feld nicht wichtig und gibt es Empfängerrichtlinien in Exchange Online? Ausgangspunkt war die Frage eines Kunden, ob ein "Remote Move Request" etwas an den Empfängerrichtlinien dreht. Das habe ich nachgestellt.

Exchange OnPremises

Ich habe in meiner Laborumgebung folgende Konfiguration. Die meisten Empfänger sind "Standard" mit EmailAddressPolicyEnabled=$true.

[PS] C:\>Get-Recipient | ft primarysmtpaddress,EmailAddressPolicyEnabled

Das ist wichtig und sollte so sein, da der HCW - Hybrid Configuration Wizard bei der Einrichtung die Empfängerrichtlinien dergestalt anpasst, dass eine "<tenantname>.mail.onmicrosoft.com"-Adresse addiert wird.

[PS] C:\>(Get-EmailAddressPolicy "Default Policy").EnabledEmailAddressTemplates

Damit ist sichergestellt, dass jeder Empfänger eine passende Adresse hat, die mit der späteren Migration durch einen  Remote Move Request. All diese Informationen werden dann durch ADSync auch ins Entra ID und Exchange Online repliziert.

Um eine Variant beim test zu haben, habe ich ein Testpostfach absichtlich "manuell" konfiguriert:

[PS] C:\>Set-Mailbox test1 -PrimarySmtpAddress Test1_1@uclabor.de -EmailAddressPolicyEnabled $false
[PS] C:\>Get-Mailbox test1 | fl EmailAddressPolicyEnabled
EmailAddressPolicyEnabled : False

Exchange Online

Auch in Exchange Online gibt es tatsächlich Empfängerrichtlinien. Sie finden Sie aber nicht im Exchange Admin Center oder einem anderen Portal, sondern nur in der Exchange Online PowerShell. Per Default gibt es genau eine "Default Policy".

Get-EmailAddressPolicy `
| fl Identity,*recipientfilter,HasEmailAddressSetting,`
     *AddressTemplates,RecipientFilterApplied,IncludedRecipients  

Es gibt sogar weitere Commandlets zu den RecipientPolicies in Exchange Online

Ich habe bislang noch nicht analysiert, was passieren würde. Microsoft hat das Thema nicht dokumentiert und es ist wohl am besten, hier nichts zu konfigurieren.

Selbst die "Default Policy" wurde bislang noch nie angewendet, wenn ich dem leeren Feld "LastUpdatedRecipientFilter" glauben soll. Ein manuelles Update ist auch nicht möglich, denn das Commandlet "Update-EmailAddressPolicy" gibt es nicht in Exchange Online:


https://learn.microsoft.com/en-us/powershell/module/exchange/update-emailaddresspolicy  

Der Versuch die "Default Policy" so zu ändern, dass meine eigene SMTP-Domain anstelle der "onmicrosoft.com"-Adresse genutzt wird, wurde mangels Berechtigungen abgewiesen.

Set-EmailAddressPolicy "Default Policy" -EnabledEmailAddressTemplates 'SMTP:@msxfaq.net'
Write-ErrorMessage : |System.InvalidOperationException|Sie sind nicht berechtigt, diesen Vorgang an einer
E-Mail-Adressenrichtlinie "Default Policy" durchzuführen.

Ich war natürlich Global Admin und Exchange Administrator in meinem Tenant und laut Dokumentation ist das Commandlet schon für Exchange Online verfügbar.

Ich würde behaupten, dass hier noch Commandlets bereitgestellt werden, die keine Funktion mehr haben

Aber das ist vielleicht gar nicht notwendig, denn durch den Abgleich mit ADSync sind alle OnPremises Objekte auch in Exchange Online vorhanden und verwaltet. Eine Ausgabe von Get-Recipient in der Exchange Online PowerShell liefert hier idealerweise alle Empfänger, die auch im lokalen Active Directory gelistet werden. Zusätzlich gibt es weitere Objekte, die es nur in der Cloud gibt und ohne Group Writeback nicht im lokalen AD nachgeführt werden. Insofern ist die unterschiedliche Menge erklärbar:

Was aber auffällt, ist die Einstellung der "EMailAddressPoliciesEnabled" in Exchange Online. Das Feld ist bei allen Objekten auf "False" gesetzt. Im Gegensatz zu OnPremises kann ich das Feld auch nicht auf "True" setzen.

Den Parameter gibt es gar nicht und es ist wohl gar nicht vorgesehen, dass Exchange Online durch einen Service verwaltet werden. Auch das erscheint logisch, denn das Entra ID bzw. der Entra ID ProvisioningService hat die Hoheit über alle Felder.

Remote Move Request

Ein Kunde hat mir gesagt, dass beim Remote Move Request eines User von Exchange OnPremises zu Exchange Online angeblich das Feld "EmailAddressPolicyEnabled" von "False" auf "True" verändert wird. Daher habe ich den User "Test1" in meiner Umgebung entsprechend auf "False" gestellt und vorbereitet.

Phase  Beschreibung

Vor dem MoveRequest

Ausgangssituation war eine OnPremises SharedMailbox mit abgeschalteten Empfängerrichtlinien

Während des MoveRequest 

Die Migration zu Exchange Online war auf "Synced", d.h. alle Elemente waren schon in die Cloud übertragen und das System wartet nur auf meinen Abschluss


Move abgeschlossen 

Zuletzt habe ich dann die Migration abgeschlossen und dabei kontrolliert, was MRS über EWS an den lokalen Server übergibt.

Tipp: Wenn Sie "Get-Recipient" nutzen, erhalten Sie die gleiche Information unabhängig vom Empfängertyp

Dies war nur ein Test von mehreren Versuchen aber zu keiner Zeit hat der Remote Move Request etwas am Feld "EmailAddressPolicyEnabled" verändert. Auch eine Migration von Exchange Online zurück zu Exchange OnPremises hat keine Änderung gebracht. Durch die Änderung im lokalen AD von "Mailbox" zu "RemoteMailbox" und wieder zurück hat natürlich ADSync etwas zu tun bekommen. Allerdinge haben sich nur wenige Felder geändert:

Der "legacyExchangeDN" hat sich geändert, während dann der vorherige DN als "X500"-Adresse in die ProxyAddresses addiert wurde. Auch die Pflege des RemoteRecipientType und der msExchElcMailboxFlags ist nicht unerwartet.

ADSync

Zuletzt habe ich mir noch mal ADSync angeschaut, ob hier eine Regel zum Abgleich des Felds greifen könnten. Statt nun in den Tiefen des ADSync Regelwerks zu suchen, habe ich einfach lokal die Einstellung von "$False" auf "$True" umgestellt

Wir sehen gut, dass die Information nicht ein eigenes AD-Feld ist, sondern die GUID {26491cfc-9e50-4857-861b-0cb8df22b5d7} vom Feld "PoliciesExcluded" zu "PoliciesIncluded" verschoben wird. Eine Kontrolle beim nächsten ADSync-Lauf zeigte keinerlei zu ändernde Inhalte.

Zusammenfassung

Microsoft hat mit Exchange 5.5 schon die Funktion eingeführt, dass über konfigurierte Richtlinien die Mailadressen z.B. anhand der Felder "Vorname" und "Nachname" gebildet werden. In Exchange 2000/2003 hat ein eigener "Recipient Update Service" (Exchange 2000/2003 RUS) die Empfänger asynchron mit Mailadressen versorgt und seit Exchange 2007 machen das direkt die Exchange Commandlets, wenn Sie über das Exchange Admin Center (EAC) oder Exchange PowerShell die Empfänger verwalten. Daher sollte sie nie an Exchange vorbei per LDAP, ADSIEDIT o.ä. an den AD-Feldern etwas ändern.

Mit Exchange Online gibt es quasi keine Empfängerrichtlinien mehr, zumindest sind sie per Admin-Portal nicht mehr sichtbar aber per PowerShell durchaus einsehbar und sogar änderbar. Aber das ist auch gar nicht erforderlich, denn die wenigsten Firmen werden mit "Cloud Only"-Konten arbeiten und hier wird der UPN auch zur Mailadresse und zusätzliche Adressen pflegen Sie einfach manuell, per Exchange Admin Center oder Exchange Online PowerShell. Alle Firmen, die aber weiter mit einem lokalen Active Directory und einem Verzeichnisabgleich arbeiten, müssen die Exchange Empfänger sowieso im lokalen Active Directory mit Exchange OnPremises oder der Recipient Management PowerShell verwalten und hier werden die Empfängerrichtlinien dann angewendet. ADSync sorgt im Anschluss dafür, das die ProxyAddresses auch in Exchange Online ankommen. Insofern folgt auch Exchange Online den lokal konfigurierten Empfängerrichtlinien.

Damit ist aber auch verständlich, dass in Exchange Online alle Objekte mit "EmailAddressPolicyEnabled:$False" konfiguriert sind. Es mach nämlich gar keinen Sinn, wenn ein Prozess in Exchange Online etwas an den ProxyAddresses verändert, da diese Informationen durch ADSync nie ins lokale AD übertragen werden.

So genau stimmt das natürlich nicht Exchange Online und EntraID nehmen sich schon die Freiheit heraus, bestimmte ProxyAddresses in Exchange Online zu hinterlegen, wenn Sie nicht von OnPremises kommen, z.B. wird der UPN auch immer als SMTP-Adresse addiert und auch die SIP-Adressen für Voicemail etc. kommt ganz ohne ADSync oder Empfängerrichtlinien in Exchange Online hinzu.

Weitere Links