HCW und OAUTH Fehler
Die Einrichtung von Exchange Hybrid mit Exchange Online erfordert auch die Delegierung von Berechtigungen, damit der lokale Exchange Server z.B. Frei/Belegt-Zeiten, Mailtipps und Bilder von Exchange Online abrufen kann und Exchange Online die gleichen Informationen vom lokalen Server abruft. Bei der Einrichtung von OAUTH liefert HCW manchmal ein "erfolgreich" mit OAUTH-Warnung. Dieses Problem behandle ich auf der Seite.
Ich habe das Thema auch als Audiodatei für einen
Podcast aufbereitet.
hcw_und_oauth_fehler.mp3
Die Fehlermeldung
Sie starten ihre HCW, konfigurieren Modern oder Classic Hybrid, lassen die Checkbox bei OAUTH drin und der HCW läuft bis zum Ende durch aber liefert die folgende Warnung:
HCW8064 - The HCW has completed, but was not able to perform the OAuth portion of yur Hybrid configuration. If you need features that rely on OAuth, you can try running the HCW again or manuelly configure OAuth using these manual steps
Die meisten Administratoren werden dann den HCW einfach erneut starten und manchmal hat das sogar das Problem gelöst. Was wäre dann ein Hinweis auf DNS-Cache, Entra ID Replikationszeiten etc. Aber sehr oft hat sich der Knoten so nicht einfach zerschlagen lassen. Also steht Ursachenforschung. Über die Fehlernummer liefert Microsoft schon erste Hinweise. und wie Sie die Konfiguration manuell lösen
- Warning occurs when running Hybrid
Configuration - Exchange | Microsoft Learn
https://learn.microsoft.com/en-us/troubleshoot/exchange/hybrid-configuration-wizard-errors/hcw-has-completed-but-was-not-able-to-perform-oauth - Configure OAuth authentication between
Exchange and Exchange Online | Microsoft
Learn
https://learn.microsoft.com/en-us/exchange/configure-oauth-authentication-between-exchange-and-exchange-online-organizations-exchange-2013-help
Fehlersuche HCW bis Sommer 2025
Wenn Sie das Bild genau anschauen, dann gibt es unten direkt ein Link auf das Logfile.
So eine Protokolldatei ist natürlich etwas länger aber einen Fehler finden Sie einfach, indem Sie nach "*ERROR*" suchen. In einem Protokoll stand hier:
2025.08.11 13:20:18.773 *ERROR* 10042 [Client=UX, Thread=1] Exception Image: C:\Users\fcadmin\AppData\Roaming\Microsoft\Exchange Hybrid Configuration\20250811_131418.png 2025.08.11 13:20:18.851 *ERROR* 10251 [Client=UX, Thread=1] System.NullReferenceException: Object reference not set to an instance of an object. at Microsoft.Online.CSE.Hybrid.Common.BaseAuthCredential.AcquireToken(String authority, String resource, String clientId, Uri redirectUri, Boolean promptMode) at Microsoft.Online.CSE.Hybrid.Provider.HybridConfigurationService.HybridConfigurationService.AcquireToken(IHostingServiceConfiguration hostingServiceConfiguration, ICredential credential, Boolean promptMode) at Microsoft.Online.CSE.Hybrid.App.TenantData.AuthenticateResources(ILogger logger, ICredential credential, Boolean promptMode) at Microsoft.Online.CSE.Hybrid.App.TenantData.PromptCredential(IWindowsUserInterface windowsUserInterface, ILogger logger) at Microsoft.Online.CSE.Hybrid.App.ViewModel.Pages.Credentials.TenantSignIn() at Microsoft.Online.CSE.Hybrid.Windows.Commando.<>c__DisplayClass15_0.<Thunk>b__0(Object p) at MS.Internal.Commands.CommandHelpers.CriticalExecuteCommandSource(ICommandSource commandSource, Boolean userInitiated) at System.Windows.Controls.Primitives.ButtonBase.OnClick()
Da scheint HCW schon mal eine Information gefunden zu haben. Aber aus dem Logfile geht erst einmal nichts draus hervor. Aber der nächste Fehler ist schon etwas ausführlicher, wenn man auch die vorherigen Zeilen anschaut:
2025.08.11 13:21:30.634 10277 [Client=UX, Session=OnPremises, Cmdlet=Get-PartnerApplication, Thread=12] FINISH Time=41,1ms Results=1 PartnerApplication {AcceptSecurityIdentifierInformation=0 AccountType='OrganizationalAccount' ApplicationIdentifier='00000002-0000-0ff1-ce00-000000000000' CertificateStrings=[] Enabled=1 ExchangeVersion='0.20 (15.0.0.0)' Guid=1160e90e-04b9-4669-bf6d-58cb8dde1e3f Id='Exchange Online' Identity='Exchange Online' IsValid=1 Name='Exchange Online' ObjectState='Unchanged' UseAuthServer=1 WhenChanged='01.09.2022 00:19:27' WhenChangedUTC='31.08.2022 22:19:27' WhenCreated='12.12.2016 00:30:32' WhenCreatedUTC='11.12.2016 23:30:32'} 2025.08.11 13:21:30.637 10276 [Client=UX, Session=OnPremises, Cmdlet=Set-PartnerApplication, Thread=12] START Set-PartnerApplication -Identity 'Exchange Online' -Enabled: $true 2025.08.11 13:21:30.684 WARNING 10086 [Client=UX, Provider=OnPremises, Thread=12] PowerShell Warning Record: The command completed successfully but no settings of 'Exchange Online' have been modified. 2025.08.11 13:21:30.686 10277 [Client=UX, Session=OnPremises, Cmdlet=Set-PartnerApplication, Thread=12] FINISH Time=49,0ms Results=0 2025.08.11 13:21:30.687 10122 [Client=UX, Page=Configuring, fn=RunWorkflow, Workflow=Hybrid, Task=IntraOrganization, Phase=Configure, Step=OAuth, Thread=12] Enabled Exchange Online organization partner application 2025.08.11 13:21:30.689 10129 [Client=UX, Page=Configuring, fn=RunWorkflow, Workflow=Hybrid, Task=IntraOrganization, Phase=Configure, Step=OAuth, Thread=12] Calling into Azure Active Directory Services to register external On-premises Exchange HTTP endpoints and upload authorization certificate 2025.08.11 13:21:30.690 10130 [Client=UX, Page=Configuring, fn=RunWorkflow, Workflow=Hybrid, Task=IntraOrganization, Phase=Configure, Step=OAuth, Thread=12] Accepted Domains: UCLABOR.DE, autodiscover.UCLABOR.DE, msxfaqlab.mail.onmicrosoft.com, autodiscover.msxfaqlab.mail.onmicrosoft.com, ex01.uclabor.de 2025.08.11 13:21:30.691 10131 [Client=UX, Page=Configuring, fn=RunWorkflow, Workflow=Hybrid, Task=IntraOrganization, Phase=Configure, Step=OAuth, Thread=12] Service Principal Names: https://ex01.uclabor.de 2025.08.11 13:21:30.691 10422 [Client=UX, Page=Configuring, fn=RunWorkflow, Workflow=Hybrid, Task=IntraOrganization, Phase=Configure, Step=OAuth, Thread=12] START 2025.08.11 13:21:30.701 10453 [Client=UX, fn=SendAsync, Thread=12] START GET https://graph.microsoft.com/beta/463e98ae-b7d4-4af2-8ef8-3eda0b4d8a7c/ServicePrincipals/ 2025.08.11 13:21:30.781 10454 [Client=UX, fn=SendAsync, Thread=12] FINISH Time=78,7ms Results=429 2025.08.11 13:21:30.783 *ERROR* 10459 [Client=UX, Thread=12] System.NullReferenceException: Object reference not set to an instance of an object. at Microsoft.Online.CSE.Hybrid.Common.GraphServicePrincipalProvider.GetServicePrincipalByAppId(Guid appId) at Microsoft.Online.CSE.Hybrid.Common.GraphServicePrincipalProvider.UpdateSPN(String[] acceptedDomains, String[] servicePrincipalNames, X509Certificate2 authCertificate) 2025.08.11 13:21:30.796 *ERROR* 10133 [Client=UX, Page=Configuring, fn=RunWorkflow, Workflow=Hybrid, Task=IntraOrganization, Phase=Configure, Step=OAuth, Thread=12] Graph service call (Graph API) has failed with the exception: System.NullReferenceException: Object reference not set to an instance of an object. at Microsoft.Online.CSE.Hybrid.Common.GraphServicePrincipalProvider.GetServicePrincipalByAppId(Guid appId) at Microsoft.Online.CSE.Hybrid.Common.GraphServicePrincipalProvider.UpdateSPN(String[] acceptedDomains, String[] servicePrincipalNames, X509Certificate2 authCertificate) at Microsoft.Online.CSE.Hybrid.StandardWorkflow.IOCConfigurationTask.UpdateGraphSPN(ILogger logger, String[] acceptedDomains, String[] servicePrincipalNames, IExchangeCertificate certificate, IGraphService graphService) 2025.08.11 13:21:30.797 *ERROR* 10242 [Client=UX, Page=Configuring, fn=RunWorkflow, Workflow=Hybrid, Task=IntraOrganization, Phase=Configure, Thread=12] System.NullReferenceException: Object reference not set to an instance of an object. at Microsoft.Online.CSE.Hybrid.Common.GraphServicePrincipalProvider.GetServicePrincipalByAppId(Guid appId) at Microsoft.Online.CSE.Hybrid.Common.GraphServicePrincipalProvider.UpdateSPN(String[] acceptedDomains, String[] servicePrincipalNames, X509Certificate2 authCertificate) at Microsoft.Online.CSE.Hybrid.StandardWorkflow.IOCConfigurationTask.UpdateGraphSPN(ILogger logger, String[] acceptedDomains, String[] servicePrincipalNames, IExchangeCertificate certificate, IGraphService graphService) at Microsoft.Online.CSE.Hybrid.StandardWorkflow.IOCConfigurationTask.ConfigureOauth() at Microsoft.Online.CSE.Hybrid.StandardWorkflow.IOCConfigurationTask.Configure()
Zuerst holt sich der HCW die entsprechende Exchange Partner Application, die er auch noch findet aber dann versucht er diese App zu aktualisieren. Bis zum Oktober 2025 war das auch noch die generische Exchange Partner Application mit der GUID "00000002-0000-0ff1-ce00-000000000000". Danach ist es eine eigene Dedicated Hybrid Application. Sie sehen dann, dass er bei dem Objekte ein "UpdateSPN" machen möchte
HCW mit Dedicated Hybrid App
Natürlich habe ich den Fehler auch mit dem neuesten HCW nachgestellt, der schon die Dedicated Hybrid Application einrichten will. Hier habe ich dann sogar andere Fehler gefunden. Hier versucht der HCW eine neue Application im Tenant anzulegen und den Admin Consent zu erteilen. Die Fehlermeldung sieht hier dann wie folgt aus:
Ein Blick ins Logfile verrät genau, welcher Graph-Aufruf hier fehlschlägt.
2025.08.11 14:06:21.140 10453 [Client=UX, fn=SendAsync, Thread=18] START PATCH https://graph.microsoft.com/beta/463e98ae-b7d4-4af2-8ef8-3eda0b4d8a7c/ServicePrincipals/5352f47e-bc69-4103-b125-4d7655dd603a {"keyCredentials":[{"type":"AsymmetricX509Cert","keyId":"afe9a0fe-4aa6-4624-bae9-77dcce7e6c5d","startDateTime":"2022-01-26T23:35:25Z", "endDateTime":"2027-01-26T23:35:25Z","key":null,"usage":"Verify","customKeyIdentifier":"0C4187214F3141E4FD9A72791B33329B23C045BD", "displayName":"CN=Microsoft Exchange Server Auth Certificate"},{"type":"AsymmetricX509Cert","keyId":"d77cb931-62c8-4f22-b0a6-78fd46e96b00", "startDateTime":"2022-01-26T23:35:25Z","endDateTime":"2027-01-26T23:35:25Z","key":null,"usage":"Verify", "customKeyIdentifier":"0C4187214F3141E4FD9A72791B33329B23C045BD","displayName":"CN=Microsoft Exchange Server Auth Certificate"}, {"type":"AsymmetricX509Cert","keyId":"39a24950-6186-4093-b493-635c3c9fad00","startDateTime":"2022-01-26T23:35:25Z", "endDateTime":"2027-01-26T23:35:25Z","key":null,"usage":"Verify","customKeyIdentifier":"0C4187214F3141E4FD9A72791B33329B23C045BD", "displayName":"CN=Microsoft Exchange Server Auth Certificate"},{"type":"AsymmetricX509Cert","keyId":"86643bff-1ae1-4798-b720-bb02a6fe2ac5", "startDateTime":"2022-01-26T23:35:25Z","endDateTime":"2027-01-26T23:35:25Z","key":null,"usage":"Verify", "customKeyIdentifier":"0C4187214F3141E4FD9A72791B33329B23C045BD","displayName":"CN=Microsoft Exchange Server Auth Certificate"}, {"type":"AsymmetricX509Cert","keyId":"9951cc98-7202-4fe8-99af-43291df7f9a3","startDateTime":"2022-01-26T23:35:25Z", "endDateTime":"2027-01-26T23:35:25Z","key":null,"usage":"Verify","customKeyIdentifier":"0C4187214F3141E4FD9A72791B33329B23C045BD", "displayName":"CN=Microsoft Exchange Server Auth Certificate"},{"type":"AsymmetricX509Cert","keyId":"67fd9aaf-2942-4746-83f1-19bfef1055d4", "startDateTime":"2022-01-26T23:35:25Z","endDateTime":"2027-01-26T23:35:25Z","key":null,"usage":"Verify","customKeyIdentifier": "0C4187214F3141E4FD9A72791B33329B23C045BD","displayName":"CN=Microsoft Exchange Server Auth Certificate"},{"type":"AsymmetricX509Cert", "keyId":"a1f5de36-7d40-49d2-8dca-bbd6f9384fbc","startDateTime":"2022-01-26T23:35:25Z","endDateTime":"2027-01-26T23:35:25Z","key":null, "usage":"Verify","customKeyIdentifier":"0C4187214F3141E4FD9A72791B33329B23C045BD","displayName":"CN=Microsoft Exchange Server Auth Certificate"}, {"type":"AsymmetricX509Cert","keyId":"bd3039fd-051c-4ee7-80e4-fd3af020da67","startDateTime":"2022-01-26T23:35:25Z", "endDateTime":"2027-01-26T23:35:25Z","key":null,"usage":"Verify","customKeyIdentifier":"0C4187214F3141E4FD9A72791B33329B23C045BD", "displayName":"CN=Microsoft Exchange Server Auth Certificate"},{"type":"AsymmetricX509Cert","keyId":"6be84486-c489-42e1-9731-ad748d140219", "startDateTime":"2022-01-27T00:35:25+01:00","endDateTime":"2027-01-27T00:35:25+01:00", "key":"MIIDQDxxxxxx=","usage":"Verify","customKeyIdentifier":null,"displayName":"CN=Microsoft Exchange Server Auth Certificate"}]} 2025.08.11 14:06:21.258 10454 [Client=UX, fn=SendAsync, Thread=18] FINISH Time=118,0ms Results=Forbidden {"error":{"code":"Authorization_RequestDenied", "message":"Insufficient privileges to complete the operation.", "innerError":{"date":"2025-08-11T14:06:21","request-id":"c95a1f9b-31c4-4c5d-a0dd-2ef46debcd02", "client-request-id":"c95a1f9b-31c4-4c5d-a0dd-2ef46debcd02"}}} 2025.08.11 14:06:21.259 10458 [Client=UX, Thread=18] FINISH Time=124,0ms Results=Forbidden {"error":{"code":"Authorization_RequestDenied", "message":"Insufficient privileges to complete the operation.","innerError":{"date":"2025-08-11T14:06:21", "request-id":"c95a1f9b-31c4-4c5d-a0dd-2ef46debcd02","client-request-id":"c95a1f9b-31c4-4c5d-a0dd-2ef46debcd02"}}} 2025.08.11 14:06:21.259 10132 [Client=UX, Page=Configuring, fn=RunWorkflow, Workflow=Hybrid, Task=IntraOrganization, Phase=Configure, Step=OAuth, Thread=18] Graph Service call (Graph API) result: False. 2025.08.11 14:06:21.260 10423 [Client=UX, Page=Configuring, fn=RunWorkflow, Workflow=Hybrid, Task=IntraOrganization, Phase=Configure, Step=OAuth, Thread=18] START 2025.08.11 14:06:21.260 *ERROR* 10244 [Client=UX, Page=Configuring, fn=RunWorkflow, Workflow=Hybrid, Task=IntraOrganization, Phase=Configure, Step=OAuth, Thread=18] Graph Service call failed. Configure OAuth unsuccessful. 2025.08.11 14:06:21.263 *ERROR* 10242 [Client=UX, Page=Configuring, fn=RunWorkflow, Workflow=Hybrid, Task=IntraOrganization, Phase=Configure, Thread=18] System.Exception: Exception of type 'System.Exception' was thrown. at Microsoft.Online.CSE.Hybrid.StandardWorkflow.IOCConfigurationTask.UpdateGraphSPN(ILogger logger, String[] acceptedDomains, String[] servicePrincipalNames, IExchangeCertificate certificate, IGraphService graphService) at Microsoft.Online.CSE.Hybrid.StandardWorkflow.IOCConfigurationTask.ConfigureOauth() at Microsoft.Online.CSE.Hybrid.StandardWorkflow.IOCConfigurationTask.Configure() 2025.08.11 14:06:21.264 10276 [Client=UX, Session=Tenant, Cmdlet=Get-IntraOrganizationConfiguration, Thread=18] START Get-IntraOrganizationConfiguration -OrganizationGuid 'd03ff486-d465-498a-a28e-db307847e6cb' 2025.08.11 14:06:21.430 10277 [Client=UX, Session=Tenant, Cmdlet=Get-IntraOrganizationConfiguration, Thread=18] FINISH Time=166,0ms Results=1 {IsValid=True OnlineDiscoveryEndpoint=
Hier haben wir dann aber auch eine klare Meldung:
{ "error":{ "code":"Authorization_RequestDenied", "message":"Insufficient privileges to complete the operation.", "innerError":{ "date":"2025-08-11T14:06:21", "request-id":"c95a1f9b-31c4-4c5d-a0dd-2ef46debcd02", "client-request-id":"c95a1f9b-31c4-4c5d-a0dd-2ef46debcd02" } } }
"Insufficient privileges to complete the Operating" ist unzweifelhaft ein Berechtigungsproblem. Ich habe den HCW absichtlich als "Exchange Administrator" gestartet, der auch in Exchange Online nur die "Exchange Admin Rolle" hatte
- Permissions in Exchange Online
https://learn.microsoft.com/en-us/exchange/permissions-exo/permissions-exo
Ursache: Berechtigungen
Bei der Einrichtung von Exchange Hybrid benötigen Sie umfangreiche Berechtigungen. Kleine Firmen, in denen es eh nur einen lokalen Domain Admin und einen "Microsoft 365 Global Admin" gibt, funktioniert die Einrichtung ganz ohne Probleme. Aber Firmen, in denen die Berechtigungen aufgeteilt oder mittels PIM nur für kurze Zeit delegiert werden, müssen Sie sich die "richtigen" Berechtigungen besorgen. Es reicht hier nicht, wenn Sie die Rolle "Exchange Administrator" sowohl OnPremises als auch in Exchange Online haben. Allein mit den Exchange Admin-Rechten können Sie sehr wohl den Exchange Hybrid Wizard starten und durchlaufen lassen. Sie können damit auch alle Einstellungen machen die Exchange über die PowerShell durchführen kann, z.B. SMTP-Connectoren, OrganizationRelationShip, Migration Endpoints etc. einrichten.
Hinweis: Auch für die Einrichtung dieser Exchange Konfigurationen benötigen Sie Berechtigungen. Ich habe schon Umgebungen gesehen, in denen die Exchange Adminrollen auf https://admin.exchange.microsoft.com/#/adminRoles verändert wurden und die Rolle "Organization Management" nicht mehr alle Berechtigungen innerhatte.
Sie können aber damit keine Einstellungen in den Entra ID Apps vornehmen. Genau darum geht es aber, wenn sie OAUTH einrichten. Der HCW nutzt dazu das Exchange Server Auth-Zertifikate (Exchange OAuth) zur Authentifizierung an der Cloud und lädt dazu den Public Key des Zertifikats in die jeweilige Application in Entra ID hoch.
Quelle: Deploy dedicated Exchange hybrid app - Permissions
https://learn.microsoft.com/en-us/Exchange/hybrid-deployment/deploy-dedicated-hybrid-app#permissions
Ich habe den ersten Aufruf des "Neuen HCW" zur Einrichtung von Hybrid mit Dedicated Hybrid Application noch ohne diese Berechtigungen gemacht Mein User "exadmin@msxfaqlab.onmicrosoft.com" war nur in der RoileGroup Exchange Administrator.
Bei der Ausführung des HCW habe ich entsprechend auch die obige Fehlermeldung bekommen, dass ich z.B. den Admin Consent nicht erteilen konnte. Ich war aber schon etwas überrascht, dass die neue Dedicated Hybrid Application sehr wohl angelegt wurde und mein Exchange Admin auch der Besitzer war.
Im Auditlog war auch zu sehen, dass das Objekte mit meinem beschränkten EXADMIN-User angelegt wurde.
Das bedeutet, dass ein Exchange Admin bei einem normalen Tenant sehr wohl eine "ApplicatoinRegistration" und "Enterprise App" anlegen kann..
Er kann sogar das Zertifikat hochladen:
Sogar die Berechtigungen konnte HCW mit meinem limitierten Rechten zumindest vorbereiten
Aber einen "Admin Consent" kann auch der Besitzer einer Application nicht gewähren.
Die Berechtigung des Besitzers kann sie später noch einmal behindern, wenn Sie das Konto wechseln. Der Administrator, welcher mit HCW die App einrichtet ist automatisch auch der Besitzer und kann damit auch zukünftige einige Einstellungen der Application ändern, die ein anderer Exchange Administrator nicht ändern darf.
Dennoch finde ich das schon etwas bedenklich, dass ein Exchange Admin alleine im Tenant eine App anlegen kann. Das ist aber der Default und sollten Sie besser ändern. (Siehe auch Checkliste Tenant Einrichtung)
Hier die "Default Einstellung" der Tenants:
https://portal.azure.com/#view/Microsoft_AAD_UsersAndTenants/UserManagementMenuBlade/~/UserSettings
Wenn Sie schon an der Steuerung von App Permissions sind, sollten Sie vielleicht auch noch die Einstellungen beim "Consent" auf ihre Anforderungen anpassen:
Consent and permissions - Microsoft Azure
https://portal.azure.com/#view/Microsoft_AAD_IAM/ConsentPoliciesMenuBlade/~/UserSettings
Wenn Sie hier ihren Tenant aber nicht "gehärtet" haben, dann kann auch ein Exchange Administrator die "Enterprise Application" und "App Registration" anlegen. Manchmal kann es natürlich etwas dauern, bis Entra ID die Daten repliziert hat, so dass der Upload des Zertifikats auch funktioniert.
Vielleicht ist das auch der Grund für den Hinweise, dass bei einem OAUTH-Fehler einfach der HCW noch ein zweites Mal mit dem gleichen Benutzer gestartet werden soll, um das Zertifikat hochzuladen.
Um jedoch den erforderlichen "Admin Consent" zu erteilen, benötigen Sie die entsprechenden Berechtigungen eines "Application Administrator" oder höher. Der "Besitzer" einer App kann keinen Admin-Consent erteilen.
- Risiko orgweiter Consent
- Authentifizierung im Wandel der Zeit
- OAUTH2 / Modern Authentication
- Phishing mit Consent-Anforderung
- MonitorExchangeAuthCertificate
- Exchange OAuth
-
How to register an app in Microsoft Entra ID
- Microsoft identity platform
https://learn.microsoft.com/en-us/entra/identity-platform/quickstart-register-app - Configure how users consent to
applications - Microsoft Entra ID
https://learn.microsoft.com/en-us/entra/identity/enterprise-apps/configure-user-consent?pivots=portal - Deploy dedicated Exchange hybrid app - Permissions
https://learn.microsoft.com/en-us/Exchange/hybrid-deployment/deploy-dedicated-hybrid-app#permissions
Throtting 429-Fehler
Bei all den Tests mit verschiedenen Benutzern und immer wieder Löschen und Neuanlage der Dedicated Hybrid Application bin ich dann auch mal auf das Graph-Throttling gelaufen.
Im Logfile finden sich dann auch die Versuche und deren Verzögerung:
Mittels Fiddler habe ich nachgeschaut und mit den Response-Header "Retry-After" einblenden lassen.
HCW reagiert auf den Fehler 429 mit einem Retry nach der angezeigten Zeit.
- Graph Throttling
- Microsoft Graph throttling guidance -
Microsoft Graph
https://learn.microsoft.com/en-us/graph/throttling - blog.atwork.at | Taming the 429: How we
analyzed Microsoft Graph API throttling and
developed a workaround
https://blog.atwork.at/post/microsoft-graph-api-429-too-Many-Requests-workaround
Bewertung
Wer nicht immer mit dem großen Vorschlaghammer "GlobalAdmin/DomainAdmin" unterwegs ist, muss bei einigen Programmen genau wissen, welche Berechtigungen für eine erfolgreiche Konfiguration erforderlich sind. Leider prüft HCW nicht vorab, ob das verwendete Konto z.B. das Recht "Application Administrator" hat oder zumindest als "Global Reader" überhaupt prüfen kann, ob es die entsprechende Application schon gibt und wie diese konfiguriert ist
Wenn Sie also den OAUTH-Fehler bekommen, dann dürfte das daran liegen, dass Sie einfach nicht die erforderlichen Berechtigungen haben und sie für die Einrichtung von Hybrid mit HCW nicht nur die Rolle "Exchange Administrator" in Exchange Online benötigen, sondern zur Ersteinrichtung die Funktion "Application Administrator" sein müssen. Theoretisch wäre es danach denkbar, dass der Application Administrator die Exchange Administratoren danach zum "Besitzer" der gerade eingerichtet Applikation machen, so dass diese später die Aktualisierung des Client Secrets alleine machen können.
Weitere Links
- Dedicated Hybrid Application
- Exchange OAuth
- Exchange Partner Application
- MonitorExchangeAuthCertificate
- Bereitstellen einer dedizierten
Exchange-Hybrid-App
https://learn.microsoft.com/de-de/Exchange/hybrid-deployment/deploy-dedicated-hybrid-app - Warning occurs when running Hybrid
Configuration - Exchange | Microsoft Learn
https://learn.microsoft.com/en-us/troubleshoot/exchange/hybrid-configuration-wizard-errors/hcw-has-completed-but-was-not-able-to-perform-oauth - Configure OAuth authentication between
Exchange and Exchange Online | Microsoft
Learn
https://learn.microsoft.com/en-us/exchange/configure-oauth-authentication-between-exchange-and-exchange-online-organizations-exchange-2013-help -
Permissions in Exchange Online
https://learn.microsoft.com/en-us/exchange/permissions-exo/permissions-exo