Microsoft Graph API benutzt EWS Schnittstelle im Hintergrund

Hallo zusammen,

Küzrlich habe ich einen Artikel veröffentlicht, bei dem ich übers GraphAPI Mails versendet habe https://blog.icewolf.ch/archive/2021/07/07/graph-api-send-mail-with-powershell.aspx

Dabei habe ich komische Fehlermeldungen erhalten. Mit der PowerShell gabs einfach einen HTTP 401 Unauthorized Status.

Erst im Graph Explorer sieht man etwas mehr

{
    "error": {
        "code": "ErrorAccessDenied",
        "message": "Access to OData is disabled.",
        "innerError": {
            "date": "2021-07-16T16:06:01",
            "request-id": "30d5d686-af1a-4da2-b022-f554b985e8bf",
            "client-request-id": "87e12b56-d6fa-aa31-2e89-fd507125738a"
        }
    }
}

Die Permissions sind schon gegeben, daran kann es also nicht liegen.

Wie sich nun herausgestellt hat, benutzt die Graph API für den Zugriff auf Exchange (Mail / Kalender / Contacts) im Hintergrund die EWS Schnittstelle.

Ich hatte vor einiger Zeit mit der EwsApplicationAccessPolicy rumgespielt und dort die EnfrorceAllowList aktiviert.

Get-OrganizationConfig | fl *ews*

Set-OrganizationConfig -EwsApplicationAccessPolicy $Null -EwsEnabled $true

Allenfalls auch mit Get-CASMailbox prüfen, ob auf dem Benutzer die EwsApplcationPolicy/EwsAllow/EwsBlockList eingeschaltet sind und ob EwsEnabled auf $True steht.

Get-CASMailbox -Identity <userprincipalname> | fl *ews*

Es kann bis zu 90 Minuten dauern, bis diese Änderung aktiv wird.

Danach funktioniert es im Graph Explorer

Und auch das PowerShell Script funktioniert

Grüsse
Andres Bohren