Informationen über geteilte OneDrive Dateien exportieren

Wird ein Benutzerkonto in einen neuen Tenant migriert, oder erhält die Person ein neues Konto, kann es von Vorteil sein zu kennen welche Dateien im OneDrive geteilt sind. In dem Beitrag betrifft es nur OneDrive for Business.

  • Die Person kann die Dateien über den Export kontrollieren und bei Bedarf im neuen OneDrive schnell wieder teilen.
  • Der Export kann helfen eine allgemeine Zusammenfassung über geteilte Dateien und Ordner im OneDrive zu erhalten.

Im OneDrive gibt es eine Übersicht Shared by you. Exportieren lässt sich die Auswertung im Web nicht.

Screenshot

Für die Anzeige ruft OneDrive die SharePoint REST API OneDriveSharedItems ab.
Ich erstellte deshalb das PowerShell Command Get-TAOneDriveSharedItems, um mithilfe der SharePoint REST API und Microsoft Graph APIs Informationen über geteilte OneDrive Dateien aufzubereiten.

Was sammelt Get-TAOneDriveSharedItems?

Generell alle geteilten Dateien und Ordner im OneDrive des ausgewählten (internen) Kontos. Bei geteilten Ordnern sind untergeordnete Inhalte automatisch geteilt, sie werden ebenfalls erfasst.
In der Zusammenfassung sind folgende Informationen inkludiert.

  • OneDrive Pfad zur geteilten Datei.
  • Geteilter Link zur Datei (ein Empfänger kann über diesen Link auf die geteilte Datei zugreifen).
  • Mit welchem Sharing Scope eine Datei geteilt ist. Es gibt drei mögliche Scopes:
    • Anyone
    • People in Organization with the link
    • Specific people
  • Ob eine Datei an interne, externe oder interne und externe Personen geteilt ist.
  • Mit wem die Datei geteilt ist oder wurde.
    • Geteilt ist bedeutet jemand hat eine Datei mit “People in Organization with the link” geteilt und eine Person in der Organisation hat den Link/die Datei geöffnet.
    • Geteilt wurde ist für “Specific people” relevant. Die Datei wurde mit internen oder externen Personen (einer Mailadresse) geteilt.
  • Falls vorhanden, an welche Mailadresse die Datei geteilt wurde. Bei externen Personen anonymisiert die Zusammenfassung die Mailadresse.
  • Mit welchen Berechtigungen eine Datei geteilt ist (Lese- oder Schreibrechte).
  • Ob beim Teilen der Download blockiert wurde.
  • Ob beim Teilen ein Passwort gesetzt wurde (nur für Sharing Scope Anyone).
  • Ob die geteilte Datei ein Ablaufdatum hat und welches (nur für Sharing Scope Anyone).
  • FileID, für weitere Abfragen über Microsoft Graph.
  • SharingID, für weitere Abfragen über Microsoft Graph.

Welche Anforderungen gibt es?
  • Du benötigst folgende PowerShell Module:
  • Vorübergehend PowerShell 7, oder PnP.PowerShell Version 1.12.0 (aufgrund eines aktuellen Fehlers von PnP.PowerShell mit PowerShell 5)
  • Azure App Registration mit folgenden Berechtigungen:
    • Microsoft Graph > Delegated > User.Read
    • Microsoft Graph > Application > Sites.Read.All (für die Abfrage von Informationen über Dateien und Ordner)
    • Microsoft Graph > Application > Domain.Read.All (für die Bewertung interne oder externe Person)
    • SharePoint > Application > Sites.FullControl.All (da der Zugriff auf fremde OneDrives über die SharePoint REST API nur über administrative Berechtigungen möglich ist muss es leider FullControl sein)
Ausführung von Get-TAOneDriveSharedItems

Beachte die Dokumentation für Get-TAOneDriveSharedItems und lade das Command aus meinem GitHub Repo. Verbinde dich dann über Connect-MgGraph mit deiner Azure App zu deinem Tenant.

PowerShell
Import-Module Microsoft.Graph.Authentication
Connect-MgGraph -ClientID <AzureAppID> -TenantId <TenandID> -CertificateThumbprint <CertificateThumbprint>

Get-TAOneDriveSharedItems -UPN <UserPrincipalName> -Export # Zusammenfassung wird in deinen lokalen Documents-Ordner exportiert, Mailadressen von externen Personen anonymisiert


Die Zusammenfassung wird exportiert und lässt sich mit Excel weiterbearbeiten.

Geteilte OneDrive Dateien und Ordner exportiert
Geteilte OneDrive Dateien und Ordner exportiert
Share
Avatar-Foto

Tobias Asböck

Tobias ist ein Senior System Engineer mit rund 10 Jahren Berufserfahrung für Microsoft 365 Produkte wie SharePoint Online, OneDrive for Business, Teams Collaboration, Entra ID, Information Protection, Universal Print und Microsoft 365 Lizenzierung. Aus der Vergangenheit kennt er über einen Zeitraum von 15+ Jahren die Planung, Administration und den Betrieb von SharePoint Server Umgebungen. Tobias ist ein PowerShell Scripter mit Zertifizierungen für Microsoft 365 Produkte. In seiner Freizeit beschäftigt sich Tobias mit Aktualisierungen in der M365-Welt, ist mit seinem Rennvelo unterwegs und anderen sportlichen Aktivitäten beschäftigt.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert