Skip to main content

How-to: Dateien oder Ordner innerhalb von Teams/SharePoint mit PowerShell verschieben

Oktober 24, 2024

Das Verschieben von Dateien und Ordnern innerhalb von Microsoft Teams oder SharePoint kann durch die Verwendung von PowerShell vereinfacht werden. Im Folgenden wird eine detaillierte Schritt-für-Schritt-Anleitung beschrieben, wie dies funktioniert – angefangen bei der Einrichtung der erforderlichen Berechtigungen bis hin zur Ausführung des tatsächlichen Verschiebeprozesses.

Schritt 1: Einrichten der App-Registrierung im Microsoft Entra Admin Center

Bevor wir Dateien oder Ordner verschieben können, müssen wir zunächst eine App-Registrierung im Microsoft Entra Admin Center einrichten, um die erforderlichen Berechtigungen für den Zugriff auf SharePoint zu erhalten.

1. Anmelden im Microsoft Entra Admin Center

Öffne das Microsoft Entra Admin Center und melde dich mit deinem Konto an.

2. Navigiere zu „Anwendungen“ und „App-Registrierung“

Gehe im Menü links zu „Anwendungen“ und wähle „App-Registrierung“ aus, um eine neue App zu registrieren.

3. Erstellen einer neuen App-Registrierung

Klicke auf „+ Neue Registrierung“ und vergib der Anwendung einen Namen, z. B. „PNP-Move SPO“.

4. Kontotyp auswählen

Unter „Unterstütze Kontotypen“ wähle „Nur Konten in diesem Organisationsverzeichnis…“. Klicke anschließend auf „Registrieren“, um die App zu erstellen.

5. Anwendungs-ID kopieren

Nachdem die Anwendung registriert ist, kopiere die „Anwendungs-ID (Client-ID)“ aus dem Portal. Diese wird später in den PowerShell-Skripten benötigt.

6. Authentifizierung konfigurieren

In der Anwendung „PNP-Move SPO“ navigiere zu „Authentifizierung“ und klicke auf „+ Plattform hinzufügen“. Wähle dann „Mobilgerät- und Desktopanwendungen“ aus.

7. Umleitungs-URI hinzufügen

Im Feld „Benutzerdefinierte Umleitungs-URIs“ trage „http://localhost“ ein und speichere die Einstellungen.

8. API-Berechtigungen anpassen

Gehe zu „API-Berechtigungen“ und entferne die voreingestellte Berechtigung „Microsoft Graph“.

9. SharePoint-Berechtigung hinzufügen

Füge eine neue API-Berechtigung hinzu, indem du auf „+ Berechtigung hinzufügen“ klickst. Wähle „SharePoint“ als API aus.

10. Delegierte Berechtigungen auswählen

Wähle unter „Delegierte Berechtigungen“ die Berechtigung „AllSites.FullControl“ aus, um Vollzugriff auf alle Sites in SharePoint zu erhalten.

11. Administratorzustimmung einholen

Abschließend klicke auf „Administratorzustimmung für Tenant erstellen“, um die Berechtigung im Tenant zu bestätigen.

Schritt 2: Verschieben von Dateien/Ordnern via PowerShell

Nachdem die Berechtigungen eingerichtet sind, kannst du PowerShell verwenden, um Dateien und Ordner zwischen Teams und SharePoint-Websites zu verschieben.

1. PowerShell als Administrator öffnen

Öffne PowerShell mit Administratorrechten.

2. Mit SharePoint Tenant verbinden

Verwende den folgenden Befehl, um dich mit deinem SharePoint Tenant zu verbinden:
Connect-PnPOnline -Url https://deinTenant.sharepoint.com -Interactive -ClientId <CLIENTID>

Ersetze die „ClientID“ durch die, die du in Schritt 5 der App-Registrierung erstellt hast.

3. Quelle definieren

Definiere den Pfad zur Quelle (Ordner oder Datei), die verschoben werden soll:
$source = "/sites/TeamName/Freigegebene Dokumente/Kanal/Test"

4. Ziel definieren

Lege den Zielpfad fest, wohin die Datei oder der Ordner verschoben werden soll:
$target = "/sites/ZielTeam/Freigegebene Dokumente/General"

5. Verschiebe den Inhalt

Starte den Verschiebevorgang mit folgendem Befehl:
Move-PnPFile -SourceUrl $source -TargetUrl $target -AllowSchemaMismatch -AllowSmallerVersionLimitOnDestination -NoWait

Dieser Befehl verschiebt die Datei oder den Ordner von der Quelle zum Ziel. Die Parameter -AllowSchemaMismatch und -AllowSmallerVersionLimitOnDestination helfen dabei, eventuelle Kompatibilitätsprobleme zwischen den beiden Speicherorten zu lösen.

Fazit

Das Verschieben von Dateien und Ordnern in Microsoft Teams oder SharePoint mithilfe von PowerShell ermöglicht eine effiziente und automatisierte Handhabung von Daten. Durch die Verwendung von App-Registrierungen und API-Berechtigungen wird der Zugriff sicher und kontrolliert durchgeführt. Diese Methode spart Zeit und erleichtert besonders in großen Umgebungen das Datenmanagement erheblich.