Zum Hauptinhalt springen

My Sites mit PowerShell zu OneDrive for Business migrieren

Hinweis: Für die PowerShell-Integration ist ein ShareGate Migrate Pro- oder Enterprise-Abonnement erforderlich. Sie ist im Essentials-Plan nicht verfügbar.

Verwenden Sie PowerShell, um Ihre Migrationen von SharePoint My Sites zu OneDrive for Business zu automatisieren.

Hinweis: Seit Ende Januar 2026 hat Microsoft begonnen, das IDCRL-Cookie schrittweise abzuschaffen. Das bedeutet, dass in den meisten Microsoft 365-Mandanten nur noch die Methoden Browser und Modern Authentication mit den Parametern -Browser und -ModernAuth funktionieren. Weitere Informationen zu dieser Änderung finden Sie unter Wichtige Änderung bei der Authentifizierung als „anderer Benutzer" für Microsoft 365.

Voraussetzungen

Hinweis: Sie müssen auf jedem My Site und OneDrive Websitesammlungsadmin sein, auch wenn Sie über höhere Administratorrechte verfügen. In den Schritten (10) und (25) unten verwenden Sie Farmadmin-, SharePoint-Admin- oder Globaladmin-Berechtigungen, um Websitesammlungsadmin-Berechtigungen auf alle Ihre My Sites und OneDrives anzuwenden. Das PowerShell-Skript entfernt dann die Websitesammlungsadmin-Berechtigungen für jede My Site, während Sie sie migrieren.

Anleitung

Tipp: Um Ihre Dokumente in einen neuen Ordner in Ihren OneDrives zu migrieren, siehe Anleitung - Migration in einen neuen OneDrive-Ordner mit PowerShell.

Eine CSV-Anleitung für Ihre Migration erstellen

  1. Gehen Sie zu Alle Berichte.

  2. Klicken Sie oben rechts auf Benutzerdefinierten Bericht erstellen.

  3. Wählen Sie Websitesammlung als Objekttyp aus.

  4. Klicken Sie auf Fortfahren ohne zu speichern.

  5. Wählen Sie die Webanwendung aus, die Sie für Ihre My Sites verwenden.

  6. Klicken Sie auf Weiter.

  7. Klicken Sie auf Jetzt ausführen.

  8. Wählen Sie mit dem Kontrollkästchen oben in der Liste alle Ihre My Sites aus.

  9. Klicken Sie im Menü für Schnellaktionen auf Bearbeiten.

  10. Wählen Sie im Dropdown-Menü Transformationen die Option Administratoren hinzufügen aus.

  11. Suchen Sie im angezeigten Feld Benutzer oder Gruppe auswählen nach Ihrem Konto und fügen Sie es hinzu.

  12. Klicken Sie auf Anwenden.

  13. Klicken Sie zweimal auf Zurück, um zu Ihren Berichtsergebnissen zurückzukehren.

  14. Klicken Sie oben rechts auf Exportieren.

  15. Speichern Sie die Datei auf Ihrem Laufwerk.

  16. Gehen Sie zurück zu Alle Berichte.

  17. Klicken Sie auf Benutzerdefinierten Bericht erstellen.

  18. Wählen Sie dieses Mal OneDrive for Business als Objekttyp aus.

  19. Klicken Sie auf Fortfahren ohne zu speichern.

  20. Wählen Sie den Microsoft 365-Mandanten aus, den Sie für Ihre OneDrives verwenden.

  21. Klicken Sie auf Weiter.

  22. Klicken Sie auf Jetzt ausführen.

  23. Wählen Sie mit dem Kontrollkästchen oben in der Liste alle Ihre OneDrives aus.

  24. Klicken Sie im Menü für Schnellaktionen auf Bearbeiten.

  25. Wählen Sie im Dropdown-Menü Transformationen die Option Administratoren hinzufügen aus.

  26. Suchen Sie im angezeigten Feld Benutzer oder Gruppe auswählen nach Ihrem Konto und fügen Sie es hinzu.

  27. Klicken Sie auf Anwenden.

  28. Klicken Sie zweimal auf Zurück, um zu Ihren Berichtsergebnissen zurückzukehren.

  29. Klicken Sie oben rechts auf Exportieren.

  30. Speichern Sie die Datei auf Ihrem Laufwerk.

  31. Öffnen Sie Excel.

  32. Fügen Sie den ersten beiden Spalten die Überschriften SourceSite und DestinationSite hinzu.

  33. Öffnen Sie die beiden Dateien, die Sie in den vorherigen Schritten gespeichert haben.

  34. Kombinieren Sie die Daten aus beiden Dateien in einem neuen Dokument so, dass die Quell-URL in ihrer jeweiligen Spalte der Ziel-URL entspricht.

    Screen_Shot_2019-07-26_at_9.14.26_AM.png

    Falls die alphabetische Sortierung nicht funktioniert, können Sie Ihre Daten manuell neu ordnen oder eine Lösung mit PowerShell oder Excel-Makros suchen.

  35. Speichern Sie diese neue Datei als CSV auf Ihrem Laufwerk.

Ihr Skript erstellen

Kopieren Sie das folgende Skript und fügen Sie es in die PowerShell-Anwendung Ihrer Wahl ein.

Import-Module Sharegate

# Define the CSV file path
$csvFile = "C:\CSV\CopyContent.csv"

# Import the CSV file
$table = Import-Csv $csvFile -Delimiter ","

# Define source and destination connections
$srcUsername = "sourceusername"
$srcPassword = ConvertTo-SecureString 'sourcepassword' -AsPlainText -Force
$dstSiteConnection = Connect-Site -Url "https://destinationtenantname-my.sharepoint.com/" -ModernAuth


# Set variables for site and list operations
Set-Variable srcSite, dstSite, srcList, dstList

# Loop through each row in the CSV
foreach ($row in $table) {
# Clear previous values of variables
Clear-Variable srcSite
Clear-Variable dstSite
Clear-Variable srcList
Clear-Variable dstList

# Connect to the source site
$srcSite = Connect-Site -Url $row.SourceSite -Username $srcUsername -Password $srcPassword

# Connect to the destination site
$dstSite = Connect-Site -Url $row.DestinationSite -UseCredentialsFrom $dstSiteConnection

# Get the source and destination lists
$srcList = Get-List -Site $srcSite -Name "Documents"
$dstList = Get-List -Site $dstSite -Name "Documents"

# Copy content from the source list to the destination list
Copy-Content -SourceList $srcList -DestinationList $dstList

# Remove site collection administrator permissions
Remove-SiteCollectionAdministrator -Site $srcSite
Remove-SiteCollectionAdministrator -Site $dstSite
}

Passen Sie Ihr Skript an Ihre Bedürfnisse an. Hier sind einige Richtlinien:

  • $csvFile: Passen Sie den Pfad so an, dass er auf die zuvor gespeicherte CSV-Datei verweist.

  • $table: Das Trennzeichen ist das Symbol, mit dem Ihre CSV-Datei die Einträge in einer Zeile trennt. Stellen Sie sicher, dass Ihr Skript dasselbe Trennzeichen wie Ihre Datei verwendet (eine schnelle Möglichkeit, dies zu überprüfen, besteht darin, die CSV-Datei in Notepad zu öffnen).

  • $srcUsername, $srcPassword: Ersetzen Sie "sourceusername", 'sourcepassword' durch Ihre SharePoint-Anmeldeinformationen.

  • $dstSiteConnection: Ersetzen Sie die URL durch die Stamm-URL Ihrer OneDrives im entsprechenden Mandanten.

  • Connect-site: Der Befehl zum Herstellen einer Verbindung mit einer SharePoint-Site. Wenn Sie die Authentifizierungsmethode ändern müssen, siehe Connect Site.

  • Set-Variable und Clear-Variable: Diese Befehle helfen, ein Problem zu vermeiden, bei dem ein Verbindungsfehler dazu führen kann, dass Ihre Daten im falschen OneDrive landen.

  • foreach: Wir verwenden foreach, um die Werte in Ihrer CSV-Datei zu durchlaufen. Weitere Informationen dazu finden Sie hier.

  • -UseCredentialsFrom: Dieses Skript verwendet Modern Authentication mit dem Parameter -UseCredentialsFrom, um für Ihr Ziel eine einzelne Verbindung wiederzuverwenden. Dieses Skript fordert Sie beim Start zur Eingabe Ihrer Microsoft 365-Anmeldeinformationen auf. Wenn MFA für Ihre Mandanten nicht erzwungen wird, können Sie Ihr Skript so einstellen, dass es für die unbeaufsichtigte Planung einen Benutzernamen und ein Kennwort verwendet. Weitere Informationen finden Sie unter Connect-Site und Vermeiden Sie die wiederholte Eingabe Ihrer Anmeldeinformationen bei den Verbindungsmethoden „Browser" und „Modern".

  • Remove-SiteCollectionAdministrator: Diese Funktion entfernt Ihr Benutzerkonto nach der Migration als Websitesammlungsadministrator auf OneDrive. Weitere Informationen finden Sie unter Websitesammlungsadministrator entfernen.

Führen Sie Ihr Skript aus, sobald es richtig angepasst und getestet wurde.

Zu beachten

  • Modern Authentication mit -ModernAuth ist die sicherste und beständigste Authentifizierungsmethode für Microsoft 365 und kann mit den Variablen Username und Password verwendet werden, solange die Multi-Faktor-Authentifizierung (MFA) nicht erzwungen wird. Es gibt auch einige Einschränkungen. Siehe Connect-Site, um verschiedene Möglichkeiten zur Verwendung dieser Verbindungsmethode kennenzulernen oder bei Bedarf zur Browser-Authentifizierung zu wechseln.

  • Migrationsberichte werden automatisch erstellt, und Sie finden sie unter Aufgaben. Sie können die Berichte auch mit Export-Report in Ihrem Skript exportieren.

  • Sie können Ihre Migration mit PowerShell planen, um sie außerhalb der Geschäftszeiten auszuführen und die Leistung zu optimieren.

  • Kopieren & Ersetzen wird standardmäßig mit diesem Skript verwendet. Wenn Sie eine inkrementelle Migration ausführen möchten, können Sie den Befehl New-CopySettings verwenden.

  • Informationen zur Nachbildung der Kopieroptionen aus ShareGate Migrate finden Sie unter Kopieroptionen in PowerShell.

  • Wenn Sie Hunderte Gigabyte an Daten zu migrieren haben, empfehlen wir, mehrere CSV-Dateien zu erstellen, um die Migration in kleineren Batches auszuführen.

  • Skriptfehler und Tests: Testen Sie Ihr PowerShell-Skript an einer kleinen Teilmenge von My Site-Konten, bevor Sie es umfassend anwenden. Tests helfen dabei, mögliche Probleme in einem kontrollierten Bereich zu erkennen.

Dieser Artikel wurde mit künstlicher Intelligenz übersetzt. Bei Unklarheiten konsultieren Sie bitte die englische Originalversion.

Hat dies deine Frage beantwortet?