Hallo @Sven Weidenmann ,
Entschuldigung für die späte Antwort! Vielen Dank für Ihre Anfrage.
Nach einiger Recherche habe ich herausgefunden, dass:
Ist die SharePoint-API mandantenspezifisch?
Ja. Die SharePoint-REST-API-Endpunkte sind auf Ihren Mandanten beschränkt, z. B.:
https://{tenant}.sharepoint.com/_api/...
Die Authentifizierung erfolgt über OAuth 2.0 für den jeweiligen Mandanten.
Referenz: Einführung in den SharePoint-REST-Dienst
Benötigt man pro Tenant eine eigene App-Registrierung?
Ja, wenn Sie mehrere Mandanten verwalten. Jeder Mandant benötigt:
- Eine eigene Azure AD-App-Registrierung
- Entsprechende Berechtigungen wie
Sites.Read.AlloderSites.FullControl.All
Alternativ können Sie eine Multi-Tenant-App erstellen, müssen aber in jedem Mandanten eine Admin-Zustimmung einholen.
Referenz: Azure-App für SharePoint-Zugriff konfigurieren
Liefert die API Dateien/Ordner mit Pfaden > 400 Zeichen?
Nein. SharePoint Online erzwingt ein Limit von 400 Zeichen für die gesamte URL (einschließlich Protokoll, Domain, Bibliothek, Ordner und Dateiname). Längere Pfade können in SharePoint Online nicht existieren. Referenz: SharePoint Online-Grenzwerte
Warum hat Microsoft Graph für lokale OneDrive-Pfade nicht geholfen?
Microsoft Graph gibt nur Cloud-Pfade zurück (z. B. webUrl oder parentReference.path), nicht den vollständigen lokalen Windows-Pfad. Probleme mit lokalen Pfadlängen sind eine Einschränkung des Windows-Dateisystems bzw. des OneDrive-Sync-Clients, nicht der Graph-API. Referenz: Arbeiten mit Dateien in Microsoft Graph
Lösungen
1. Lange Pfade in SharePoint Online erkennen
- Verwenden Sie Microsoft Graph oder die SharePoint-REST-API, um Elemente aufzulisten und die Länge von
serverRelativeUrloderwebUrlzu berechnen. - Beispiel-Graph-Endpunkt:
GET https://graph.microsoft.com/v1.0/sites/{site-id}/drives/{drive-id}/root/children?$expand=children
- Die Berechnung erfolgt in Ihrem Skript oder Workflow.
Referenz: Unterelemente eines DriveItems auflisten
2. Lange Pfade in lokalen OneDrive-Ordnern erkennen
- PowerShell-Skript für Endgeräte:
Get-ChildItem -Path "$env:USERPROFILE\OneDrive" -Recurse |
Where-Object { $_.FullName.Length -gt 260 } |
- Funktioniert gut mit NinjaOne oder ähnlichen RMM-Tools.
3. Multi-Tenant-Automatisierung
- Wenn Sie mehrere Mandanten verwalten:
- Entweder eine App pro Mandant registrieren, oder
- Eine Multi-Tenant-App erstellen und Admin-Zustimmung in jedem Mandanten einholen.
Referenz: Überblick über Sites.Selected-Berechtigungen
Zusammenfassung
- SharePoint-API ist mandantenspezifisch → Ja
- Separate App-Registrierung pro Mandant → Ja (oder Multi-Tenant-App mit Zustimmung)
- API liefert Pfade >400 Zeichen? → Nein, Limit liegt bei 400 Zeichen
- Lokale OneDrive-Pfade prüfen → PowerShell oder Endpoint-Skripte
Wenn Sie diesen Vorschlag hilfreich finden, markieren Sie die Antwort bitte als Akzeptiert, damit andere mit denselben Fragen durch Ihren Beitrag Hilfe finden können. Vielen Dank!