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 Migration von OneDrive for Business zu OneDrive for Business zu automatisieren.
Tipp: Um Ihre Dokumente in einen neuen OneDrive-Ordner zu migrieren, siehe Anleitung: Migration in einen neuen OneDrive-Ordner mit PowerShell.
Hinweis: Ende Januar 2026 hat Microsoft begonnen, das IDCRL-Cookie schrittweise abzuschaffen. Das bedeutet, dass in den meisten Microsoft 365-Mandanten nur noch die Authentifizierungsmethoden Browser und Modern authentication mit den Parametern -Browser und -ModernAuth funktionieren. Weitere Informationen zu dieser Änderung finden Sie unter Wichtige Änderung bei der Authentifizierung mit "Other user" für Microsoft 365.
Voraussetzungen
Berechtigungen als globaler Administrator oder SharePoint-Administrator sind in der Quelle und im Ziel erforderlich.
Ihre OneDrives wurden bereitgestellt (dies kann mit dem Get-OneDriveURL-Cmdlet automatisiert werden).
Hinweis: Sie müssen für jedes OneDrive Websitesammlungsadmin sein, auch wenn Sie über höhere Administratorrechte verfügen. In Schritt (9) unten verwenden Sie die Berechtigungen als SharePoint-Administrator oder globaler Administrator, um allen Ihren OneDrives Websitesammlungsberechtigungen zu erteilen. Das PowerShell-Skript entfernt die Websitesammlungsadmin-Berechtigungen, sobald Sie jedes OneDrive migriert haben.
Anleitung
Für Ihre OneDrive for Business-Migration müssen Sie alle Quell- und Ziel-OneDrives in einer CSV-Datei auflisten und ein PowerShell-Skript erstellen, das diese Parameter durchläuft, um jedes OneDrive zu kopieren.
CSV-Leitfaden für Ihre Migration erstellen
Rufen Sie All reports auf.
Klicken Sie oben rechts auf Create custom report.
Wählen Sie OneDrive for Business als Objekttyp aus.
Klicken Sie auf Continue without saving.
Wählen Sie Ihren Quell-Tenant aus.
Klicken Sie auf Run.
Wählen Sie mit dem Kontrollkästchen oben in der Liste alle Ihre OneDrives aus.
Klicken Sie im Schnellaktionen-Menü auf Edit
Wählen Sie im Dropdown-Menü Transformations die Option Add administrators aus.
Suchen Sie im daraufhin angezeigten Feld Select user or group nach Ihrem Konto und fügen Sie es hinzu.
Klicken Sie auf Apply.
Klicken Sie zweimal auf Back, um zu Ihren Berichtsergebnissen zurückzukehren.
Klicken Sie oben rechts auf Export.
Speichern Sie die Datei auf Ihrem Laufwerk.
Wiederholen Sie die Schritte (1) bis (14), wobei Sie in Schritt (5) Ihren Ziel-Tenant auswählen.
Öffnen Sie Excel.
Fügen Sie den ersten beiden Spalten die Titel SourceSite und DestinationSite hinzu.
Öffnen Sie die beiden Dateien, die Sie in den Schritten (14) und (15) gespeichert haben.
Kombinieren Sie die Daten aus beiden Dateien in einem neuen Dokument, sodass die Quell-URL in der entsprechenden Spalte der Ziel-URL zugeordnet ist.
Wenn die alphabetische Sortierung nicht funktioniert, können Sie Ihre Daten manuell neu anordnen oder mit Excel-Makros oder PowerShell nach einer Lösung suchen.Speichern Sie diese neue Datei als CSV-Datei auf Ihrem Laufwerk.
Erstellen Sie Ihr Skript
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 the source and destination connections
$srcSiteConnection = Connect-Site -Url "https://sourcetenantname-my.sharepoint.com/" -ModernAuth
$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 source and destination sites
$srcSite = Connect-Site -Url $row.SourceSite -UseCredentialsFrom $srcSiteConnection
$dstSite = Connect-Site -Url $row.DestinationSite -UseCredentialsFrom $dstSiteConnection
# Get source and destination lists
$srcList = Get-List -Site $srcSite -Name "Documents"
$dstList = Get-List -Site $dstSite -Name "Documents"
# Copy content from source list to 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 Umgebung an. Hier sind einige Richtlinien:
$csvFile: Passen Sie den Pfad an, damit er auf die zuvor gespeicherte CSV-Datei verweist.
$table: Das Trennzeichen ist das Symbol, mit dem Ihre CSV-Datei die Elemente in einer Zeile trennt. Stellen Sie sicher, dass Ihr Skript dasselbe Trennzeichen wie Ihre Datei verwendet (Sie können dies schnell überprüfen, indem Sie die CSV-Datei in Notepad öffnen).
$srcSiteConnection und $dstSiteConnection: Ersetzen Sie die URL durch die Root-URL Ihrer OneDrives im jeweiligen Quell- und Ziel-Tenant.
Connect-site: Der Befehl zum Herstellen einer Verbindung mit einer SharePoint-Website oder mit OneDrive for Business. Wenn Sie die Authentifizierungsmethode von Modern authentication ä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 eine einzelne Verbindung wiederzuverwenden. Beim Start werden Sie vom Skript zur Eingabe Ihrer Microsoft 365-Anmeldedaten aufgefordert. Wenn für Ihre(n) Tenant(s) keine Multi-Faktor-Authentifizierung (MFA) erzwungen wird, können Sie Ihr Skript so konfigurieren, dass ein Benutzername und ein Passwort für die unbeaufsichtigte Planung verwendet werden. Weitere Informationen finden Sie unter Connect-Site und Wiederholte Eingabe von Anmeldedaten bei den Verbindungsmethoden Browser und Modern vermeiden.Remove-SiteCollectionAdministrator: Diese Funktion entfernt Ihr Benutzerkonto nach der Migration als Websitesammlungsadministrator vom 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
-ModernAuthist die sicherste und beständigste Authentifizierungsmethode für Microsoft 365 und kann mit den Variablen Username und Password verwendet werden, solange keine Multi-Faktor-Authentifizierung (MFA) erzwungen wird. Es gibt außerdem einige Einschränkungen. Unter Connect-Site erfahren Sie, wie Sie diese Verbindungsmethode auf unterschiedliche Weise verwenden oder bei Bedarf zu Browser authentication wechseln können.Migration reports werden automatisch erstellt; Sie finden sie unter Tasks. Sie können die Berichte in Ihrem Skript auch mit Export-Report exportieren.
Sie können Ihre Migration per PowerShell planen, um sie außerhalb der Geschäftszeiten auszuführen und die Leistung zu optimieren.
Informationen zum Durchführen einer inkrementellen Migration finden Sie im Artikel Eine inkrementelle Migration in PowerShell ausführen.
Um die Kopieroptionen von ShareGate Migrate nachzubilden, siehe Kopieroptionen in PowerShell.
Wenn Sie mehrere hundert Gigabyte an Daten migrieren müssen, empfehlen wir, mehrere CSV-Dateien zu erstellen, um die Migration in kleineren Batches durchzuführen.
Skriptfehler und Tests: Testen Sie Ihr PowerShell-Skript zunächst an einer kleinen Teilmenge von OneDrive-Konten, bevor Sie es breiter anwenden. So lassen sich potenzielle Probleme in einem kontrollierten Rahmen erkennen.
Mehrsprachige Organisationen: Wenn Ihre Microsoft 365-Umgebung mehrere Anzeigesprachen verwendet, stimmt der Bibliotheksname, den Sie in Ihrem Skript an
-Nameübergeben, möglicherweise nicht mit dem tatsächlichen Anzeigenamen der Bibliothek überein. Eine Documents-Bibliothek kann beispielsweise in einer deutschen Umgebung Dokumente heißen, was zu einem Fehlschlagen des Skripts führt. Weitere Informationen finden Sie unter Cannot validate argument on parameter 'List' - multilingual organizations.
Dieser Artikel wurde mit künstlicher Intelligenz übersetzt. Bei Unklarheiten konsultieren Sie bitte die englische Originalversion.
