OneDrive Anmeldefehler mit MFA

Eigentlich funktioniert OneDrive ziemlich stabil und lässt sich auch mit mehreren Konten und Gast-Tenants nicht aus der Ruhe bringen. Dennoch ist es mir passiert, dass mein Business OneDrive sich nicht mehr anmelden wollte. DA war ich dann doch gezwungen, etwas tiefer in die Eingeweide zu schauen.

Auslöser

Wie gesagt war diesmal eine dauernde Synchronisation in der Taskleiste der Auslöser meiner Recherche:

Ein Klick auf das blaue OneDrive-Icon lieferte keine weiteren Erkenntnisse.

Ich konnte auf die Schneller keine Protokolldateien oder Eventlogs finden.

Fiddler

Da der OneDrive-Client aber schon bei der Anmeldung hängt und im Hintergrund natürlich HTTPS-Zugriffe erfolgen, habe ich mein Glück mit Fiddler versucht und wurde fündig. Sie sehen zuerst die normale Anmeldung am Net at Work-Tenant und die Verbindungen zu einigen unkenntlich gemachten Verzeichnissen und mein persönliches OneDrive Business

Aber bei Zeile 72 sieht man einen Zugriff auf einen komplett anderen Tenant. Ich bin mit meiner Net at Work-Kennung in über 10 anderen Tenants als "Gast" definiert und bei einigen Tenants repliziere ich sogar eine Auswahl an Dateien. Und hier ist gut zu sehen, dass diese Anmeldung fehl schlägt.

Ursache: Wechsel auf MFA

Die Details der 400-Meldung zeigt auch sofort das Problem:

Anscheinend hat mein Kunde MFA/Conditional Access auf seinem Tenant aktiviert und mein OneDrive-Client kommt damit nicht zurecht. Ich kann ja noch verstehen, dass der Client an der Stelle mit den aktuellen Anmeldeinformationen nicht weiter kommt. Eine sprechende Fehlermeldung und einen Link zum Einrichten von MFA wäre aber schon wünschenswert. Ich bin also direkt auf die Seite des Kunden per Webbrowser gegangen und habe wie erwartet den Einrichtungsdialog für MFA bekommen.

Die Einrichtung der Authenticator App erspare ich ihnen hier. Danach konnte ich mit Teams wieder ganz einfach in den Tenant wechseln und weiter arbeiten.

OneDrive fängt sich nicht!

Allerdings hat dies dem OneDrive Client nicht geholfen. Auch ein Neustart des kompletten Clients hat keine Besserung gebracht. Auch mit Fiddler war zu sehen, dass der Client immer noch im Hintergrund eine Anmeldung mit "Basic Auth" versucht. Da der Client selbst nicht startet, konnte ich auch die Verknüpfung zu diesem Tenant nicht einfach per GUI löschen und neu einrichten. Solange der Client nicht angemeldet ist, kann ich unter Konto keine Verbindungen sehen und löschen.

Letztlich habe ich REGEDIT bemüht und alle Vorkommen zu entfernen. Das waren durchaus einige Stellen.

Computer\HKEY_CURRENT_USER\SOFTWARE\Microsoft\OneDrive\Accounts\Business1

Hier habe ich bei mir erst einmal "Business1" und "Business2" neben "Personal" und unter Business1 finde ich unter "Tenants" drei weitere Einträge. Das ist erklärbar, da Business1 mein "Net at Work-Konto" ist, welches zusätzlich als "Gastbenutzer" noch in einem anderen Tenant wildert.

Unter dem "Net at Work GmbH"-Eintrag gibt es dann für jeden synchronisierten Ordner wohl einen Eintrag:

Aber auch das hat nicht gereicht. Ich habe dann noch im Dateisystem verschiedene Stellen gefunden, an denen die URL zu finden war:

C:\\AppData\Local\OneDrive\cache\qmlcache Gelöscht
C:\\AppData\Local\Microsoft\SkyDrive Uralt
C:\\AppData\Local\Microsoft\OneDrive
C:\\AppData\Local\Microsoft\OneDrive\settings enthält je synchronisiertem Ordner eine Datei
C:\\AppData\Local\Microsoft\OneDrive\settings\Business1\<guid>.ini enthält Index mit den replizierten Ordnern
C:\\AppData\Local\Microsoft\OneDrive\settings\Business1\ClientPolicy_9c7<nummer>.ini

Aber selbst hier die Vorkommen zu löschen hat nicht geholfen. An der Stelle war ich schon recht verzweifelt, da dieser eine blockierende Tenant die komplette OneDrive-Replikation verhindert hat und selbst Sysinternals Progmon keine weiteren Details geliefert hat.

Holzhammer "Hosts"

Meine letzte Hoffnung war die lokale "HOSTS"-Datei, in der ich den Hostnamen <kunde>.onmicrosoft.com des anderen Tenants auf 127.0.0.1 umgeleitet habe. So sollte OneDrive diesen Tenant nicht mehr erreichen und nicht an der Fehlermeldung "hängen" bleiben. Und diesmal hatte ich Glück. OneDrive konnte starten und hat umgehend mehrere aufgelaufene Megabyte an Änderungen repliziert.

Nachdem OneDrive dann alle offene Änderungen übertragen hatte, konnte ich in den Einstellungen auf die Karteikarte "Konto" zugreifen und auch das fragliche Konto entfernen.

Beim Vergleich der Konfigurationsdateien habe ich festgestellt, dass in den INI-Dateien noch weitere Änderungen erfolgt sind. Es gab nicht nur genau einen Eintrag zu diesem Ordner, sondern noch weitere Einträge, die ich aber bei der ersten Suche nicht gefunden habe.

Danach habe ich die HOSTS-Datei wieder bereinigt und OneDrive erneut neu gestartet. Diesmal wieder ohne Probleme.

Der Versuch den Order aus dem anderen Tenant dann wieder zu addieren, ist aber an einer unspezifischen Fehlermeldung gescheitert:

Ich kann mir nur vorstellen, dass der Tenant z.B. den Zugriff auf "Company Devices" beschränkt und die Fehlermeldung damit noch nicht zurecht kommt. Selbst der Zugriff per Browser auf die SharePoint-Seite meldet immer eine Warnung.

Ein Anklicken entfernt die Meldung für wenigen Sekunden und dann kommt Sie doch wieder. Der Versuch hier einen Sync zu starten, konnte ich in Fiddler mit folgendem Fehler zurückverfolgen.

AADSTS50196: The server terminated an operation because it encountered a client request loop. Please contact your app vendor

Ob das aber der Root Cause oder nur ein Symptom ist, kann ich nicht sagen.

Weitere Links