Hinweis: Für die PowerShell-Integration ist ein ShareGate Migrate Pro- oder Enterprise-Abonnement erforderlich. Sie ist im Essentials-Plan nicht verfügbar.
Diese Anleitung erklärt, wie Sie mit PowerShell die Migration von Dateien von Google My Drive zu OneDrive for Business mit dem Befehl Import-GoogleDriveDocument 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.
Tipp: Diese Anleitung konzentriert sich auf die Migration Ihrer Dateien und Ordner in das Stammverzeichnis der Documents-Bibliothek in OneDrive. Um Ihre Dokumente in einen neuen Ordner zu migrieren, siehe Anleitung - Migration in einen neuen OneDrive-Ordner mit PowerShell.
Voraussetzungen
Sie verfügen über Berechtigungen als globaler Administrator oder SharePoint-Administrator.
Sie haben Ihre Google Drive-Domäne für die Verbindung als Administrator konfiguriert.
Weitere Informationen zum Einrichten Ihres Google Workplace für die Verbindung als Administrator finden Sie unter Als Administrator verbinden.
Ihre OneDrives sind bereitgestellt (bei Bedarf können Sie diesen Vorgang mit dem Get-OneDriveURL-Cmdlet automatisieren).
Hinweis: Sie müssen auf jedem OneDrive Websitesammlungsadmin sein, auch wenn Sie über höhere Administratorrechte verfügen. In Schritt (15) unten verwenden Sie SharePoint-Admin- oder Globaladmin-Berechtigungen, um Websitesammlungsadmin-Berechtigungen auf alle Ihre OneDrives anzuwenden. Das PowerShell-Skript entfernt die Websitesammlungsadmin-Berechtigungen, während Sie jedes Google Drive migrieren.
Anleitung
Eine CSV-Anleitung für Ihre Migration erstellen
Um die Migration zu automatisieren, müssen Sie zunächst eine CSV-Datei erstellen, die Ihre Google Drives Ihren OneDrives zuordnet:
Laden Sie eine Liste aller E-Mail-Adressen Ihrer Google Drive-Benutzer als CSV herunter.
Öffnen Sie die CSV-Datei.
Bearbeiten Sie die Datei, sodass nur eine Spalte mit den Google Drive-E-Mail-Adressen übrig bleibt.
Fügen Sie eine Kopfzeile ein.
Benennen Sie die erste Spalte GOOGLEDRIVEEMAIL.
Öffnen Sie ShareGate Migrate.
Wählen Sie in der Seitenleiste Alle Berichte aus.
Klicken Sie auf Benutzerdefinierten Bericht erstellen.
Wählen Sie OneDrive for Business als Objekttyp aus.
Klicken Sie auf Fortfahren ohne zu speichern.
Wählen Sie Ihren Mandanten aus.
Klicken Sie auf Weiter.
Deaktivieren Sie Lokalen Cache verwenden.
Klicken Sie auf Jetzt ausführen.
Wählen Sie mit dem Kontrollkästchen oben in der Liste alle OneDrive for Business-Konten aus.
Klicken Sie im Menü für Schnellaktionen auf Bearbeiten.
Wählen Sie im Dropdown-Menü Transformationen die Option Administratoren hinzufügen aus.
Fügen Sie Ihr Konto im angezeigten Feld Benutzer oder Gruppe auswählen hinzu.
Klicken Sie auf Anwenden.
Klicken Sie zweimal auf Zurück, um zu Ihren Berichtsergebnissen zurückzukehren.
Klicken Sie oben rechts auf Exportieren.
Speichern Sie die Datei auf Ihrem Laufwerk und öffnen Sie sie.
Ersetzen Sie die Überschrift Site-Adresse durch ONEDRIVEURL.
Kombinieren Sie diese CSV-Datei mit der Google Drive-E-Mail-CSV-Datei, sodass jede Google Drive-E-Mail-Adresse der richtigen OneDrive for Business-URL entspricht.
Hinweis: Falls die alphabetische Sortierung nicht funktioniert, können Sie Ihre Daten manuell neu ordnen oder eine Lösung mit Excel-Makros oder PowerShell suchen.Speichern Sie diese neue Datei als CSV.
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:\MigrationPlanning\onedrivemigration.csv"
# Import the CSV file
$table = Import-Csv $csvFile -Delimiter ","
# Connect to Google Drive as an admin
$connection = Connect-GoogleDrive -Email [email protected] -Admin
# Define OneDrive connection
$dstSiteConnection = Connect-Site -Url "https://destinationtenantname-my.sharepoint.com/" -ModernAuth
# Set variables for site and list operations
Set-Variable dstSite, dstList
# Loop through each row in the CSV
foreach ($row in $table) {
# Clear previous values of variables
Clear-Variable dstSite
Clear-Variable dstList
# Connect to the user's OneDrive site
$dstSite = Connect-Site -Url $row.ONEDRIVEURL -UseCredentialsFrom $dstSiteConnection
# Get the "Documents" list from the OneDrive site
$dstList = Get-List -Name Documents -Site $dstSite
# Get the Google Drive for the specified user
$myDrive = Get-GoogleMyDrive -Connection $connection -Email $row.GOOGLEDRIVEEMAIL
# Import documents from Google Drive to the OneDrive "Documents" list
Import-GoogleDriveDocument -Drive $myDrive -SourceView "MyDocuments" -DestinationList $dstList
# Remove site collection administrator permissions
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).
$connection: Ersetzen Sie die E-Mail-Adresse durch Ihre Google Drive-Admin-E-Mail-Adresse. Weitere Informationen finden Sie unter Connect Google Drive.
$dstSiteConnection: Ersetzen Sie die URL durch die Stamm-URL Ihrer OneDrives im entsprechenden Mandanten.
$dstSite: Ersetzen Sie "myusername" durch den Benutzernamen Ihres Microsoft 365-Admin-Kontos.
Connect-site: Der Befehl zum Herstellen einer Verbindung mit einer SharePoint-Site oder 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 zur Verwendung vonforeachin Ihren ShareGate PowerShell-Skripten finden Sie unter Kopieren zu und von mehreren Zielen mit einer foreach-Schleifenanweisung und einer CSV-Datei in PowerShell.-UseCredentialsFrom: Dieses Skript verwendet Modern Authentication mit dem Parameter -UseCredentialsFrom, um 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: Entfernt Ihr Benutzerkonto nach jeder Google Drive-Migration als Websitesammlungsadministrator auf den OneDrives. 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 sie 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.
Informationen zur Durchführung einer inkrementellen Migration finden Sie im Artikel Inkrementelle Aktualisierung mit PowerShell.
Weitere Informationen zur Verwendung von Kopieroptionen in PowerShell finden Sie unter Kopieroptionen in PowerShell.
Skriptfehler und Tests: Testen Sie Ihr PowerShell-Skript an einer kleinen Teilmenge von OneDrive-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.
