HCW im Detail
Auf der Seite Hybrid Configuration Wizard habe ich einen schnellen Marsch durch den Assistenten einer Hybrid-Umgebung gemacht. Auch wenn ein Assistent vieles alleine macht, möchte ich schon wissen, was dabei im Hintergrund passiert. Das beschreibe ich auf dieser Seite. Dazu nutze ich einfach einen "frisch gestarteten" HCW, der in seinem Logfile ausführlich protokolliert, was er getan hat. Einige Aktionen können nämlich durchaus "Auswirkungen" auf ihre Umgebung haben. Daher habe ich mal ein Logfile auseinander genommen, welches Sie auf ihrem PC auch finden können.
Achtung:
Wenn Sie HCW nicht als "Global Admin" ausführen, kann es
manchmal zu unerklärlichen Fehlermeldungen kommen.
C:\Users\%Username%\AppData\Roaming\Microsoft\Exchange Hybrid Configuration\
Hinweis:
Der HCW ist sehr dynamisch, d.h. Microsoft bekommt per
Default von jedem Fehler eine Rückmeldung und die
Produktgruppe ist laufend dabei den HCW zu aktualisieren und
Fehler zu vermeiden. Wenn Sie also einen Fehler haben, dann
können Sie gerne ein Ticket bei Microsoft eröffnen. Wenn Sie
aber sicher sind, dass bei ihnen alles in Ordnung ist, dann
können Sie auch einfach mal ein paar Tage warten. Oftmals
ist die nächste Version schon etwas schlauer.
Microsoft aktualisiert den HCW häufiger, als ich ihn ausführen und die Logs analysieren kann. Wenn Sie meinen, dass meine Auflistung korrigiert werden muss, dann bitte ich um einen Hinweis, idealerweise mit einem Logfile, damit ich die Seite aktualisieren kann.
Den automatischen Upload der Logs zu Microsoft können Sie über einen Registrierungsschlüssel abschalten.
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ExchangeServer\v15\Update-HybridConfiguration] "DisableUploadLogs"=dword:00000001 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ExchangeServer\v16\Update-HybridConfiguration] "DisableUploadLogs"=dword:00000001
- Introducing the Microsoft Office 365
Hybrid Configuration Wizard
https://blogs.technet.microsoft.com/exchange/2015/09/04/introducing-the-microsoft-office-365-hybrid-configuration-wizard/ - Hybrid deployment prerequisites
https://technet.microsoft.com/en-us/library/hh534377.aspx
Die aktuellste Version des HCW bekommen Sie unter:
Beachten Sie, dass der HCW beim Start nach Aktualisierungen sucht und viele Firewalls und Proxy-Server hier gerne Gefahr wittern. Daher sollten Sie die folgende URL auf jeden Fall zulassen.
*.configure.office.com *.microsoftonline.com
Hier eine Analyse der einzelnen Schritte:
Hinweis:
Microsoft erweiterte den HCW dynamisch. Insofern können inden Logs zusätzliche Einträge erscheinen. Siehe auch
Organization Configuration Transfer und
Exchange Hybrid Agent
Vorarbeiten
Der HCW unterstützt sie zwar bei der Einrichtung der Hybrid Umgebung, aber das betrifft nur die Konfiguration von Exchange OnPremises und Online. Sie müssen schon einige Voraussetzungen vorher erfüllt haben:
- Tenant muss mit Domains eingerichtet sein
Aus meiner Sicht sollten vor vor dem Aufruf alle SMTP-Domains, die sie nutzen wollen oder nutzen, auch im Tenant eintragen. Ansonsten können eventuell nicht alle Einträge aus "ProxyAddresses" nicht durch AADConnect übertragen werden. - Ihr Exchange muss per Autodiscover und
EWS für Office 365 erreichbar sein (Anonyme
Zugriffe mit OAUTH Token)
Ideal ist einfach NAT mit Routing, aber dazu muss der interne Exchange natürlich die Cloud auflösen können
Firewalls können die Office 365 IPs als Source/Destination filtern oder im TLS-Handshake den Zertifikatnamen abfragen - Exchange muss ein gültiges Zertifikat haben.
- Für das Mailrouting muss ihr Exchange
per Port 25 mit der Cloud sprechen können
und erreichbar sein
NAT oder Exchange Edge Server sind erlaubt aber andere Relays sind nicht supportet. Also auch kein NoSpamProxy dazwischen, obwohl wir es sicher könnten. Es ist nicht supportet aber sie hätten kaum einen Mehrwert, denn es ist ja "interner Mailverkehr" - ADSync muss Exchange Hybrid aktiviert
haben
Dazu muss er alle Exchange Objekte von OnPremises in die Cloud synchronisieren (identische GAL). Bitte legen Sie nie neue Anwender direkt in der Cloud an und weisen sie keine Exchange Lizenz zu. Sie haben sonst einen User in der Cloud der OnPremises nicht bekannt und nicht erreichbar ist. Der korrekte Web ist es, den Anwender lokal als AD User anzulegen und dann als „RemoteMailbox“ zu aktivieren. Dann hat der Anwender ein Cloud Postfach und sie geben ihm danach in Office 365 auch eine Exchange Lizenz - Erreichbarkeit des Internet
Der Exchange "Connector Server" muss natürlich selbst auch "ins Internet" dürfen, d.h. HTTPS ausgehend und SMTP muss möglich sein. Die erforderlichen DNS-Anfragen als auch CRL-Checks sind ebenso erforderlich
Dann können Sie den HCW starten. der dann folgende Schritte durchläuft:
Einlesen/Anlegen der Hybrid Konfiguration
Die aktuelle Hybrid Konfiguration wird in einem AD-Objekte ihrer lokalen Organisation abgelegt. Wenn Sie schon mal den HCW ausgeführt haben, dann liest der nun gestartete HCW diese Information einfach wieder aus und belegt die verschiedenen Eingabemasken mit den vorherigen Einstellungen. Ansonsten wir ein neues Objekt angelegt
Das kann dann z.B. so aussehen.
Set-HybridConfiguration ` -ClientAccessServers $null ` -ExternalIPAddresses $null ` -Domains 'msxfaq.de' ` -OnPremisesSmartHost 'hybrid.msxfaq.de' ` -TLSCertificateName '<I>CN=AlphaSSL CA - SHA256 - G2, O=GlobalSign nv-sa, C=BE<S>CN=*.msxfaq.de, OU=Domain Control Validated' ` -SendingTransportServers EX01 ` -ReceivingTransportServers EX01 ` -EdgeTransportServers $null ` -Features FreeBusy,MoveMailbox,Mailtips,MessageTracking,OwaRedirection,OnlineArchive,SecureMail,CentralizedTransport,Photos
Verifikation des Tenant
Mit den von ihnen eingegebenen Anmeldedaten liest der HCW dann auch noch die Office 365 Einstellungen aus. Im Protokoll finden Sie sehr viele „GET-Commandlets“
Achtung:
Der HCW überprüft nicht, ob ihre ADSync-Installation auch
für Exchange Hybrid konfiguriert ist.
Upgrade der Einstellungen von früheren Exchange Versionen
Den Hybrid Mode gibt es schon seit Exchange 2010. Der aktuelle HCW wird ggfls. die vorgefundenen „alten“ Einstellungen aktualisieren.
Prüfen der lokalen Voraussetzungen
Für den Hybrid Mode müssen natürlich auch lokale Einstellungen „passen“, z.B. external URLs, Exchange Versionen, ihre Berechtigungen etc. Diese prüft der HCW vorab, ehe er an die Arbeit geht. Im Log finden Sie die entsprechenden „Get“-Commandlets.
- Hybrid deployment prerequisites
https://technet.microsoft.com/en-us/library/hh534377.aspx
Empfängereinstellungen
Damit Hybrid funktioniert, müssen z.B. alle lokalen Empfänger auch in der Cloud bekannt sein und es sollte keine zusätzlichen Empfänger in der Cloud geben, die es lokal nicht gibt. Zudem muss für das Routing entsprechende Domänen angelegt werden.
Hinweis:
Anscheinend prüft der HCW, welche Empfängerrichtlinie auf
Empfänger zur Anwendung kommt. Wen eine Richtlinie keine
Ziele hat, wird die onmicrosoft.com-Adresse anscheinend
nicht addiert und kein Update-Recipientpolicy" ausgeführt.
Im Details ist dies:
- Einrichten der Domain msxfaq.mail.onmicrosoft.com als Remote Domain
New-RemoteDomain ` -Name 'Hybrid Domain - msxfaq.mail.onmicrosoft.com' ` -DomainName 'msxfaq.mail.onmicrosoft.com' ` Set-RemoteDomain ` -Identity 'Hybrid Domain ` -Domainname 'msxfaq.mail.onmicrosoft.com' ` -TargetDeliveryDomain $True
- Einrichten der Routing Domain als
Accepted Domain
Damit sie im nächsten Schritt auch verwendet werden kann. Die Domain ist dabei autoritativ und kein "internal Relay" oder "external Relay"
New-AcceptedDomain ` -DomainName 'msxfaq.mail.onmicrosoft.com' ` -Name 'msxfaq.mail.onmicrosoft.com'
- Erweitern der Empfängerrichtlinie
Es ist erforderlich, dass die SMTP-Domänen in beiden Welten gleich sein. Der HCW addiert die „msxfaq.mail.onmicrosoft.com“ als sekundäre Adresse bei allen Empfängerrichtlinien, bei denen die im HCW ausgewählten primären SMTP-Domains verwendet werden. Im Log finden Sie etwas wie:
Set-EmailAddressPolicy ` -Identity [Recipient Policy] ` -EnabledEmailAddressTemplates [Proxy Addresses]
- Update-Recipient
Und dann kommt der etwas längere Teil, da die neuen Empfängerrichtlinien angewendet werden, Das passiert zwar mit einem Switch, dass nur die sekundären Adressen geändert werden aber im schlimmsten Fall werden alle Objekte angefasst und die Objekte, bei denen die Anwendung von Empfängerrichtlinien unterbunden ist, müssen Sie von Hand anpassen. Das kann also auch mal Stunden dauern und wenn sich mehr als 10% der Objekte ändern, führt das zu einer Neugenerierung und Download des kompletten OABs. Diese Änderung hat ganz sicher einen Einfluss auf ihre Umgebung.
Update-EmailAddressPolicy ` -Identity [Recipient Policy] ` -UpdateSecondaryAddressesOnly: $true
Achtung:
Dabei werden ALLE Empfänger in ihrem On Prem-Exchange
geändert. Das kann je nach Größe länger dauern, generiert
eine entsprechende AD-Replikationslast und Exchange
generiert danach natürlich auch ein neues OAB welches von
allen Clients in den nächten 24h herunter geladen wird.
Achtung: Wenn Sie bei den Empfängern die Anwendung der Empfängerrichtlinien deaktiviert haben, dann müssen Sie selbst die Adressen Vergeben. Siehe dazu auch Exchange Hybrid Migration und PrimarySMTPAdress und Recipientpolicies
Wenn Sie dies aber nicht machen, dann können sie z.B. später bei einer Migration auf Fehler stoßen. Hier ein Beispiel:
- Hybrid Configuration Wizard
Fails To Update Default Address
Policy
https://oddytee.wordpress.com/2015/07/08/hybrid-configuration-wizard-fails-to-update-default-address-policy/ - Exchange Offline Adressbuch
- Exchange 2007 RUS
-
PrimarySMTPAdress und
Recipientpolicies
Unschöne Effekte bei Vorgabe einer PrimarySMTPAddress beim Anlegen von RemoteMailboxen und anderen Exchange-Empfängern -
Demystifying and troubleshooting hybrid mail
flow: when is a message internal?
https://techcommunity.microsoft.com/t5/exchange-team-blog/demystifying-and-troubleshooting-hybrid-mail-flow-when-is-a/ba-p/1420838
Microsoft Federation Gateway
Diese Funktion ist mit Exchange 2013+ oder höher nicht erforderlich, da OAUTH als Authentifizierung verwendet wird. Siehe auch Exchange OAuth oder Exchange Partner Application.
Damit später auch der Zugriff der Server zwischen den Welten für Free/Busy u.a. erfolgt, muss eine Partnerschaft mit dem Microsoft Federation Gateway eingerichtet werden. Auch das übernimmt der HCW aber er braucht natürlich ihre Mithilfe. Er kann zwar ihre Domain im Federation Gateway eintragen aber im externen DNS müssen Sie schon noch den ermittelten Wert hinterlegen, damit das Federation Gateway ihre Anfragen auch als authentisch akzeptiert. (Proof of ownership).
Set-Federationtrust ` -RefreshMetadata ` -Identity 'Microsoft Federation Gateway' ` -RefreshMetadata: $false Set-FederatedOrganizationIdentifier ` -AccountNamespace msxfaq.net' ` -DelegationFederationTrust 'Microsoft Federation Gateway' ` -Enabled 'True' ` -DefaultDomain $null
Die Konfiguration ist natürlich immer noch noch nutzbar, wenn z.B.: zwei Exchange OnPremises Systeme miteinander Frei/Belegt-Zeiten abfragen wollen.
- Verbundvertrauensstellung und Freigabefehler für Exchange
2010-Verbundorganisationen
https://learn.microsoft.com/de-de/exchange/troubleshoot/administration/federation-trust-sharing-errors
Organization Relation Ship
Damit die Exchange Server aber jeweils die andere Seite nutzen, muss ein „Organization Relationship“ eingerichtet werden
New-OrganizationRelationship ` -Name 'OnPremises to O365 - {GUID}' ` -TargetApplicationUri 'outlook.com' ` -TargetAutodiscoverEpr 'https://autodiscover-s.outlook.com/autodiscover/autodiscover.svc/WSSecurity' ` -Enabled: $true ` -DomainNames ("msxfaq.net","msxfaq.de")
In Exchange Online wird ausgeführt.
New-OrganizationRelationship ` -Name 'O365 to OnPremises - {GUID}' ` -TargetApplicationUri 'FYDIBOHF25SPDLT.msxfaq.net' ` -TargetAutodiscoverEpr 'https://autodiscover.msxfaq.net/autodiscover/autodiscover.svc/WSSecurity' ` -Enabled: $true ` -DomainNames ("msxfaq.net","msxfaq.de")
Konfiguration Free/Busy
Mit den Vorarbeiten des Microsoft Federation Gateways können dann die Freigaben für „FreeBusy“ eingerichtet werden.
Set-OrganizationRelationship ` -MailboxMoveEnabled: $true ` -FreeBusyAccessEnabled: $true ` -FreeBusyAccessLevel 'LimitedDetails' ` -ArchiveAccessEnabled: $true ` -MailTipsAccessEnabled: $true ` -MailTipsAccessLevel 'All' ` -DeliveryReportEnabled: $true ` -PhotosEnabled: $true ` -TargetOwaURL 'http://outlook.com/owa/msxfaq.onmicrosoft.com' ` -Identity 'OnPremises to O365 - {GUID}' Add-AvailabilityAddressSpace ` -ForestName 'msxfaq.mail.onmicrosoft.com' ` -AccessMethod 'InternalProxy' ` -UseServiceAccount: $true ` -ProxyUrl 'https://mail.msxfaq.net/EWS/Exchange.asmx'
In Exchange Online wird addiert:
Set-OrganizationRelationship ` -FreeBusyAccessEnabled: $true ` -FreeBusyAccessLevel 'LimitedDetails' ` -MailTipsAccessEnabled: $true ` -MailTipsAccessLevel 'All' ` -DeliveryReportEnabled: $true` -PhotosEnabled: $true ` -Identity 'O365 to OnPremises - {GUID}'
SMTP-Mailrouting
Nun gilt es noch dafür zu sorgen, dass Mails zwischen OnPremises und Office 365 Tenant sicher übertragen werden. Sicher heißt zwingend per TLS verschlüsselt aber vor allem dass die Mails als „intern“ zählen, d.h. auch Systemheader mit ankommen, die Formatierung beibehalten wird, interne OOF Meldungen gesendet werden und vor allem kein Spamfilter eventuell dazwischen grätscht etc. Dazu werden Connectoren angelegt.
New-SendConnector ` -Name 'Outbound to Office 365' ` -AddressSpaces [Coexistence Domain] ` -SourceTransportServers [Servers] ` -DNSRoutingEnabled: $true ` -TLSDomain 'mail.protection.outlook.com' ` -RequireTLS: $true ` -TLSAuthLevel 'DomainValidation' ` -ErrorPolicies 'Default' ` -TLSCertificateName [CERTIFICATE] ` -CloudServicesMailEnabled: $true ` -Fqdn $null Set-ReceiveConnector ` -Identity EX01\Default Frontend EX01' ` -TLSCertificateName [CERTIFICATE] ` -TLSDomainCapabilities [CERTIFICATE]
In meinem Tenant sah der Send-Connector dann so aus:
AddressSpaces : {smtp:msxfaq.mail.onmicrosoft.com;1} AuthenticationCredential : CloudServicesMailEnabled : True Comment : ConnectedDomains : {} ConnectionInactivityTimeOut : 00:10:00 ConnectorType : Default DNSRoutingEnabled : True DomainSecureEnabled : False Enabled : True ErrorPolicies : Default ForceHELO : False Fqdn : mail.msxfaq.de FrontendProxyEnabled : False HomeMTA : Microsoft MTA HomeMtaServerId : EX01 Identity : Outbound to Office 365 IgnoreSTARTTLS : False IsScopedConnector : False IsSmtpConnector : True MaxMessageSize : 35 MB (36,700,160 bytes) Name : Outbound to Office 365 Port : 25 ProtocolLoggingLevel : None RequireOorg : False RequireTLS : True SmartHostAuthMechanism : None SmartHosts : {} SmartHostsString : SmtpMaxMessagesPerConnection : 20 SourceIPAddress : 0.0.0.0 SourceRoutingGroup : Exchange Routing Group (DWBGZMFD01QNBJR) SourceTransportServers : {EX01} TlsAuthLevel : DomainValidation TlsCertificateName : <I>CN=AlphaSSL CA - SHA256 - G2, O=GlobalSign nv-sa, C=BE<S>CN=*.msxfaq.de, OU=Domain Control Validated TlsDomain : mail.protection.outlook.com UseExternalDNSServersEnabled : False
Der Adressraum ist "%tenantnamt%.mail.onmicrosoft.com" und es wird hier kein Smarthost o.ä eingetragen. Exchange erwartet, dass über den MX-Record, den Microsoft pflegt, die Zielsysteme in der Cloud auflösbar und erreichbar sind. Wenn Sie eine direkte Verbindung nach Extern nicht zulassen wollen, dann müssen Sie Exchange Edge-Server-Rollen installieren. Andere Relay-Systeme sind nicht supported.
Don't place any servers, services, or
devices between your OnPremises Exchange servers and Office
365 that process or modify SMTP traffic. Secure mail flow
between your OnPremises Exchange organization and Office
365 depends on information contained in messages sent
between the organization. Firewalls that allow SMTP traffic
on TCP port 25 through without modification are supported.
If a server, service, or device processes a message sent
between your OnPremises Exchange organization and Office
365, this information is removed. If this happens, the
message will no longer be considered internal to your
organization and will be subject to anti-spam filtering,
transport and journal rules, and other policies that may not
apply to it.
Edge Transport servers with hybrid deployments
https://technet.microsoft.com/en-us/library/hh134662.aspx
In Exchange Online werden ebenso die Connectoren angelegt, von denen der "InboundConnector" für die Annahme von Mails ihrer OnPremises Umgebung zuständig ist.
New-InboundConnector ` -Name 'Inbound from {GUID}' ` -ConnectorType 'OnPremises' ` -RequireTLS: $true ` -SenderDomains {smtp:*;1} ` -TLSSenderCertificateName [CERTIFICATE] ` -CloudServicesMailEnabled: $true New-OutboundConnector ` -Name 'Outbound to {GUID}' ` -RecipientDomains {msxfaq.de} ` -SmartHosts {hybrid.msxfaq.net } ` -ConnectorType 'OnPremises' ` -TLSSettings 'DomainValidation' ` -TLSDomain 'hybrid.msxfaq.net' ` -CloudServicesMailEnabled: $true ` -RouteAllMessagesViaOnPremises: $false ` -UseMxRecord: $false
Der "OutboundConnector" routet Mails an ihre Domäne direkt zum Eingang ihrer OnPremises Umgebung. Auch hier wird in meinem Beispiel TLS erzwungen und das Zertifikat auf dem OnPremises-System geprüft. Der HCW legt dazu aber keinen eigenen Receive Connector mehr an, sondern erweitert den "Default Receive Connector" um folgende Properties:
Set-ReceiveConnector ` -Identity „EX2016\Default Frontend EX2016“ ` -TlsDomainCapabilities "mail.protection.outlook.com:AcceptCloudServicesMail"}
Anhand dieser Einstellungen bekommt ein Server, der sich mit dem Zertifikat "mail.protection.outlook.com" ausweist, den Bonus, dass bestimmte Header erhalten bleiben die Mails als "intern" eingestuft werden.
Achten Sie darauf, dass Mails von Exchange Online auch tatsächlich bei diesem Connector ankommen.
- AcceptCloudServicesMail und CloudServicesMailEnabled
- XOORG und Exchange
- X-OriginatorOrg
- Header firewall
https://learn.microsoft.com/en-us/exchange/header-firewall-exchange-2013-help
New-OnPremisesOrganization
Und dann wird in Exchange Online noch die neue Organisation bekannt gegeben. Seit einiger Zeit kann ein Office 365 Tenant nämlich mit mehreren Exchange Organisationen gleichzeitig verbunden werden. Sie dürfen dazu aber nur genau eine ADSync Instanz nutzen und den Abgleich der Empfänger zwischen den lokalen Exchange Organisationen obliegt auch ihnen.
New-OnPremisesOrganization ` -HybridDomains {msxfaq.net} ` -InboundConnector 'Inbound from {GUID}' ` -OutboundConnector 'Outbound to {GUID}' ` -OrganizationRelationship 'O365 to OnPremises - {GUID}' ` -OrganizationName 'Tenant' -Name '{GUID}' ` -OrganizationGuid '{GUID}'
- New-OnPremisesOrganization
https://learn.microsoft.com/en-us/powershell/module/exchange/new-onpremisesorganization?view=exchange-ps
MRS-Proxy für Migration von Postfächern
Wenn die Cloud quasi „von draußen“ dann OnPremises-Postfächer in die Cloud verlagern will, muss sie auf die Postfachserver zugreifen. Niemand wird nun jeden Exchange Server veröffentlichen wollen, daher gibt es in der Regel einen Hybrid Server, der als Brückenkopf arbeitet. Es geht hier aber nicht um OWA., ActiveSync oder EWS, bei denen die Proxy-Funktion per Default vorhanden ist, sondern um den Mailbox Replication Service (MRS). Der MRS-Proxy wird durch den HCW wie folgt aktiviert.
# Identity zur Lesbarkeit umgebrochen. Dies muss ein String sein Set-WebServicesVirtualDirectory ` -Identity 'CN=EWS (Default Web Site),CN=HTTP,CN=Protocols,CN=EX01, CN=Servers,CN=Exchange Administrative Group (FYDIBOHF23SPDLT), CN=Administrative Groups,CN=ORG,CN=Microsoft Exchange,CN=Services, CN=Configuration,DC=msxfaq,DC=net' ` -MRSProxyEnabled: $true
- Enable the MRS Proxy endpoint for remote moves in Exchange Server
https://learn.microsoft.com/en-us/exchange/architecture/mailbox-servers/mrs-proxy-endpoint?view=exchserver-2019
Einrichtung IntraOnPremises-Connector
Kurz vor dem Ende wird dann noch ein IntraOnPremises-Connector auf beiden Seiten eingerichtet.
New-IntraOnPremises-Connector ` -Name 'HybridIOC - {GUID}' ` -DiscoveryEndpoint 'https://autodiscover-s.outlook.com/autodiscover/autodiscover.svc' ` -TargetAddressDomains {msxfaq.mail.onmicrosoft.com} ` -Enabled: $true
Die Einstellung wird natürlich auch in Exchange Online in die Gegenrichtung eingetragen
# Exchange Online New-IntraOnPremises-Connector ` -Name 'HybridIOC - {GUID}' ` -DiscoveryEndpoint 'https://hybrid.msxfaq.com/autodiscover/autodiscover.svc' ` -TargetAddressDomains 'msxfaq.net' ` -Enabled: $true
OAuth
Für einige Funktionen ist die Konfiguration von OAUTH erforderlich, d.h. dass sich die Exchange Server gegenseitig authentifizieren können. Das geht natürlich nicht mit Dienstkonten und Kennworten, sondern Applikationsbezogen. Sie kennen das Verfahren vielleicht schon bei der Kopplung von Exchange und Skype for Business zum Zugriff auf Chatverläufe oder den Unified Contact Store. Für folgende Funktionen ist eine OAUTH-Konfiguration zwischen Exchange Online und Exchange OnPremises erforderlich.
- Suche per eDiscovery in Exchange OnPremises und Online, wenn die Suche "OnPremises gestartet wurde aber einige Postfächer in Exchange Online sind
- Suche per eDiscovery OnPremises, wenn das Archiv des Postfachs in der Cloud liegt
- Suche per eDiscovery OnPremises, wenn die zu durchsuchenden Inhalte komplett in Exchange Online liegen
In den ersten Versionen des HCW wurden Sie am Ende darauf hingewiesen aber mussten OAUTH noch selbst einrichten. Mit Exchange 2013 CU5 hat HCW angefangen, OAUTH mit einzurichten, was aber gerade in der Anfangszeit nicht immer erfolgreich war. Da der HCW aber Probleme zu Microsoft meldet und Microsoft den HCW quasi täglich aktualisieren kann, ist auch diese Hürde mittlerweile in den meisten Fällen problemlos zu nehmen. Im Log finden Sie dann dies Befehle:
New-AuthServer ` -Name ACS ` -AuthMetadataUrl ` -AuthMetadataUrl 'https://accounts.accesscontrol.windows.net/de21c301-a4ae-4292-aa09-6db710a590a6/metadata/json/1'
Set-PartnerApplication ` -Identity 'Exchange Online' ` -Enabled: $true
New-AuthServer ` -Name EvoSts ` -AuthMetadataUrl 'https://login.windows.net/msxfaq.onmicrosoft.com/federationmetadata/2007-06/federationmetadata.xml' ` -Type AzureAD
Knifflig wird es immer dann, wenn eine Umgebung größer und komplexer ist, z.B. mehrere Domains an verschiedenen Standorten hat und die Exchange Server vielleicht nicht alle in der gleichen Domäne sind und daher WAN-Leitungen und Berechtigungen nicht immer passen. Hier muss man dann doch manuell nacharbeiten.
- Configure OAuth authentication between
Exchange and Exchange Online organizations
https://technet.microsoft.com/en-us/library/dn594521.aspx - Using OAuth authentication to support
eDiscovery in an Exchange hybrid deployment
https://technet.microsoft.com/en-us/library/dn497703.aspx
HCW und viele Domains (Multi Namespace)
Kleine Firmen haben natürlich immer genau eine SMTP-Domain und der HCW hat auch kein Problem damit. Natürlich haben Sie dann auch "autodiscover.<domain>" im Internet veröffentlicht. Was macht aber wieder eine Firma mit vielen SMTP-Domänen, für die sich im Zertifikat kein Platz findet? Firmen nutzen hierbei gerne andere Wege für die Autodiscover-Auflösung.
Oft bekommen Sie den Fehler "HCW8057", mit einem Hinweis auf Probleme mit Autodiscover. Office 365 hält sich nämlich nicht an die Autodiscover-Vorgehen sondern nutzt fest codiert die URL "//https://autodiscover.<domain.tld>/autodiscover/autodiscover.svc/wssecurity" für jede Domain. Aber dies können Sie entsprechend vorgeben.
Auch beim Hybrid-Mode kann man hinterlegen, dass man für die Domänen nicht über "autodiscover.<domain>" gehen will, sondern einen gemeinsamen Namen hat. Diese Einstellung ist nicht über die GUI möglich sondern erfolgt per PowerShell auf dem lokalen Server mit:
Set-Hybridconfiguration -Domains domain1.tld,domain2.tld, domain3.tld, AUTOD:primarydomain.tld
Danach müssen Sie noch mal den HCW starten, damit die Einstellungen auch in die Cloud übertragen werden.
- Set-HybridConfiguration
https://technet.microsoft.com/de-de/library/hh529932%28v=exchg.160%29.aspx - Using the Autodiscover Domain feature to
enable multiple SMTP domains in your hybrid configuration
https://exitcodezero.wordpress.com/2014/03/31/using-the-autodiscover-domain-feature-to-enable-multiple-smtp-domains-in-your-hybrid-configuration/ - Office 365 Hybrid Configuration with
Multiple SMTP Domains
http://blogs.catapultsystems.com/smcneill/archive/2013/11/26/office-365-hybrid-configuration-with-multiple-smtp-domains/ - Exchange Hybrid Multi-namespace
Autodiscover Configuration
https://www.cgoosen.com/2012/06/exchange-hybrid-multi-namespace-autodiscover-configuration/
HCW-Einstellung entfernen
Wenn Sie noch mal von ganz vorne Anfangen wollen, dann reicht es nicht die Konfiguration des HCW im AD zu entfernen.
# Hybrid Konfiguratioentfernen (Ab Exchange 2013) Remove-HybridConfiguration # Entfernen der Organisationsvertrauen Get-OrganizationRelationship | Remove-OrganizationRelationship get-federationtrust | Remove-FederationTrust
Sollte noch der Eintrag für das Microsoft Federation Gateway korrupt sein, kann können Sie dieses per ADSIEDIT entfernen und danach wieder über die Powershell neu einrichten. Sie Löschen dazu per ADISIEDT das folgende Objekt:
CN=Configuration,DC=msxfaq,DC=net !- CN=Services !- CN=Microsoft Exchange !- CN=yourexchangeorg !-CN=Federation Trusts !- CN=Microsoft Federation Gateway
Löschen Sie bitte nichts in der "OU=Federation" daneben oder gar die "OU = Hybrid Configuration".
- Remove-HybridConfiguration
https://technet.microsoft.com/de-de/library/jj218712(v=exchg.160).aspx - Remove a federation trust
https://technet.microsoft.com/en-us/library/jj657500%28v=exchg.150%29.aspx - Office 365: Refresh Hybrid configuration
procedure
http://blog.skysoft-is.com/?p=133 - "Execution of the Set-FederatedOrganizationIdentifier
cmdlet has thrown an exception" error when
you run Hybrid Configuration Wizard
https://support.microsoft.com/en-us/help/2995731/-execution-of-the-set-federatedorganizationidentifier-cmdlet-has-throw - "Object reference not set to an instance
of an object" error when you run the Hybrid
Configuration wizard
https://support.microsoft.com/en-in/help/3067696/-object-reference-not-set-to-an-instance-of-an-object-error-when-you-r
Beifang: TXT Abfrage per AzureWebSite
Bei der Analyse der Logs ist mir eine URL aufgefallen, die der HCW nutzt, um die Gültigkeit von TXT-Records zu verifizieren. Sie folgt dem Schema:
http://hybridconfiguration.azurewebsites.net/GetTXTRecords.aspx?d=Domain.com
Wer also mal keinen DNS-Server von innen erreichen kann, kann so von extern prüfen lassen, ob die eigenen TXT-Records "draussen" von Office 365 noch richtig gelesen werden. Wer mag, kann das also auch per PowerShell oder mit WGET/CURL in ein Monitoring aufnehmen.
function get-o365txtrecord { param ( [string]$domain ) (invoke-webrequest "http://hybridconfiguration.azurewebsites.net/GetTXTRecords.aspx?d=$($domain)").content }
Die Auswertung überlass ich dann ihnen.
Weitere Links
- Hybrid Configuration Wizard
- Hybrid Manuell
- Organization Configuration Transfer
- Exchange Hybrid Agent
- Exchange Hybrid Migration
- New Hybrid
onfiguration Wizard features in Exchange
2013 CU5
https://vanhybrid.com/2014/05/27/new-hybrid-configuration-wizard-features-in-exchange-2013-cu5/ - Office 365 –
The Magic Behind The Hybrid Config Wizard
(2013)
http://blogs.perficient.com/microsoft/2015/03/office-365-the-magic-behind-the-hybrid-config-wizard-2013/ - Introducing
the Microsoft Office 365 Hybrid
Configuration Wizard
https://blogs.technet.microsoft.com/exchange/2015/09/04/introducing-the-microsoft-office-365-hybrid-configuration-wizard/ - Exchange
2013 Hybrid Configuration Wizard
Part I: https://jaapwesselius.com/2015/07/02/exchange-2013-hybrid-prerequisites-part-i/
Part II: https://jaapwesselius.com/2015/07/03/exchange-2013-hybrid-configuration-wizard-part-ii/ -
Exchange/Office 365 Hybrid Configuration
Wizard – step by step guide
https://www.codetwo.com/admins-blog/office-365-hybrid-configuration-wizard-step-by-step/ -
Office 365 Hybrid Configuration wizard for
Exchange 2010
https://blogs.technet.microsoft.com/exchange/2016/02/17/office-365-hybrid-configuration-wizard-for-exchange-2010/ -
Exchange Q & A: Handling hybrid environments
https://docs.microsoft.com/en-us/previous-versions/technet-magazine/dn249970(v=msdn.10) -
Using the Autodiscover Domain feature to
enable multiple SMTP domains in your hybrid configuration
https://exitcodezero.wordpress.com/2014/03/31/using-the-autodiscover-domain-feature-to-enable-multiple-smtp-domains-in-your-hybrid-configuration/