Protocolsettings mit Exchange Hybrid

Wer Benutzer in Office 365 und On-Prem mit Exchange Hybrid betreibt, wird in der Regel das Office 365 Identity Management nutzen, um die Benutzer in der Cloud anhand von lokalen AD-Konten zu verwalten. Das erspart das Anlegen, Ändern und Löschen von Konten in der Cloud und die Verwaltung von Feldern wie Telefonnummer, Land, Straße etc. Unerwartete Herausforderungen kann  aber das Provisioning mitbringen, denn die Verwalten einiger Exchange Einstellungen werden nicht synchronisiert. Das fällt in der Regel dann auf, wenn Sie z.B. die Berechtigungen für ActiveSync, EWS, POP, IMAP4 o.a. verwalten wollen und bemerken, dass On-Prem die Cloud Benutzer nicht verwaltet werden können. Selbst das Auslesen geht nicht mehr, denn ADSync repliziert nur einen Teil der Felder.

Der Fehler der lokalen PowerShell

Aufgefallen ist das Verhalten mit der Verlagerung eines Postfachs in die Cloud. Ich habe On-Prem natürlich mein Skript aktiv, welche anhand von Gruppenmitgliedschaften bestimmte CAS-Einstellungen vornimmt. (Siehe auch GRP2CAS und Group2ExInternet) Und hier hat dann sowohl der Get-CASMailbox als auch der "Set-CASMailbox" nicht mehr funktioniert.

Ein Postfach welches in der Cloud sein Postfach hat, ist lokal ja eine "Remote Mailbox" mit dem Verweis (Siehe TargetAddress) auf die mail.onmicrosoft.com-Domäne. Das Objekt ist aber damit lokal nicht mehr entsprechend provisioniert.

ProtocolSettings

Ein Blick mit LDAP zeigt sehr gut, dass ein "richtiges Postfach" On-Prem auch das Feld "ProtocolSettings" hat während das Postfach in der Cloud im lokale Active Directory das Feld nicht mehr hat.

Damit ist natürlich auch klar, dass die Exchange PowerShell-Befehle keine Informationen zu einem Cloud Benutzer auslesen können und auch keine Einstellungen dort schreiben dürfen. Das ist ja genau die Ursache für den oben aufgelisteten PowerShell-Fehler. Die Exchange Commandlets können mit dieser Funktion umgehen. Es gibt aber immer wieder 3rd Party Produkte, die an der Exchange PowerShell vorbei per LDAP direkt solche Felder schreiben.

Ansicht in Office 365

Dieses Verhalten sehe Sie aber auch in Exchange Online Wenn Sie per Browser im Exchange Online Portal die beiden Benutzer anschauen, dann sehen Sie sehr schnell den Unterschied:

  • On-Prem User sind "Kontakte" in der Cloud
    Hier sehen Sie, dass ein On-Prem-User  nur eine Teilmenge der Stammdaten in der Cloud anzeigt aber keinerlei Informationen über ActiveSync u.a. vorliegen
  • CloudUser
    Benutzer, deren Postfach in der Cloud liegen, haben eine ganz andere Ansicht. Hier können Sie direkt z.B. ActiveSync deaktivieren und aktivieren. Das passiert aber nur in der Cloud

Das Provisioning von Exchange Online Postfächern muss also in der Cloud erfolgen, sei es per Exchange ECP oder Exchange Online Powershell.

ADSync - Details

Ich habe mir natürlich auch die Regeln des ADSync-Prozesses angeschaut. Wenn ich mir hier die Regel anschaue, die aus dem lokalen Active Directory die Exchange-Properties einlesen, dann ist gut zu sehen, dass das lokale Feld "ProxyAddresses" gar nicht erst in das Metadirectory importiert wird

Die Feldnamen sind alphabetisch sortiert und da ist kein "ProtocolSettings"

Damit brauche ich gar nicht mehr die "Outbound"-Seite Richtung Office 365 zu betrachten. Aber auch in die Gegenrichtung von Office 365 ins lokale Metadirectory mit dem Connector "In from AAD - User Exchange Hybrid" ignoriert das Feld ".

Weitere Links