Ergebnisse aus Anfragen an Microsoft Graph liefert es meist im JSON-Format zurück. In den Ergebnissen werden Umlaute, Sonderzeichen oder andere Zeichen oft nicht korrekt dargestellt.
Für die Lösung gibt es zwei Optionen. In einigen Fällen ist die erste Option ausreichend, in anderen Fällen benötigt ihr beide Optionen.
1. Gebt den Zeichensatz im ContentType mit.
Invoke-RestMethod -Uri $MSGraphUrl -Headers $AuthHeader -Method Get -ContentType 'application/json; charset=utf-8'
Es können weiterhin Umlaute falsch dargestellt werden.
2. Enkodiert das Ergebnis aus MSGraph mit dem korrekten Zeichensatz.
$MSGraphResults = Invoke-RestMethod -Uri $MSGraphUrl -Headers $AuthHeader -Method Get -ContentType 'application/json; charset=utf-8'
$EncodedResults = [Text.Encoding]::UTF8.GetString([Text.Encoding]::GetEncoding(28591).GetBytes($MSGraphResults))