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