Hinweise:
Für die PowerShell-Integration ist ein ShareGate Migrate Pro- oder Enterprise-Abonnement erforderlich. Sie ist im Essentials-Plan nicht verfügbar.
Ende Januar 2026 begann Microsoft mit der Abschaffung des IDCRL-Cookies. 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 finden Sie unter Wichtige Änderung der „Other user“-Authentifizierung für Microsoft 365.
Verwenden Sie PowerShell, um mehrere Microsoft 365-Postfächer anhand einer Zuordnungsdatei zu kopieren. Mit diesem Ansatz können Sie Postfächer batchweise verarbeiten und nach jedem Batch einen Bericht exportieren, was größere Postfachmigrationen leichter überschaubar macht.
Anleitung
Für Ihre Postfachmigration benötigen Sie eine Zuordnungsdatei und ein PowerShell-Skript, das diese Datei einliest, um Postfächer batchweise zu kopieren.
Zuordnungsdatei einrichten
Ihre Zuordnungsdatei ist eine CSV-Datei, die jedes Quellpostfach mit seinem Ziel verknüpft. Richten Sie sie vor dem Ausführen der Migration ein, um die Zuordnungen zu überprüfen und anzupassen.
Mit PowerShell
Führen Sie das folgende Skript aus, um Ihre Zuordnungsdatei automatisch zu erstellen. ShareGate Migrate ordnet Quell- und Zielpostfächer anhand des Anzeigenamens zu.
$source = Connect-MicrosoftOnline
$destination = Connect-MicrosoftOnline
Export-MailboxMappings -SourceConnection $source -DestinationConnection $destination -Path "C:\MyMappings\"
Aktualisieren Sie "C:\MyMappings\" auf den Ordner auf Ihrem Laufwerk, in dem Sie die Zuordnungsdatei speichern möchten. Die verfügbaren Parameter finden Sie unter Export-MailboxMappings.
Postfächer ohne Übereinstimmung am Ziel bleiben in der CSV-Datei leer. Überprüfen Sie die Datei und ergänzen Sie fehlende Zuordnungen, bevor Sie fortfahren.
Aus ShareGate Migrate
Folgen Sie den Schritten unter Copy mailboxes - Zuordnungen, um Ihren Vorgang einzurichten und zum Zuordnungsbildschirm zu gelangen.
Klicken Sie auf das Symbol Export mappings.
Speichern Sie die CSV-Datei und notieren Sie sich deren Pfad.
Sobald Sie Ihre Zuordnungsdatei haben, öffnen Sie sie und bestätigen Sie die Zuordnungen. Sie können die CSV-Datei bearbeiten, um Quelle-zu-Ziel-Zuordnungen hinzuzufügen, zu entfernen oder anzupassen, bevor Sie die Migration ausführen.
Skript erstellen
Kopieren Sie das folgende Skript und fügen Sie es in die PowerShell-Anwendung Ihrer Wahl ein. Aktualisieren Sie die -Path-Werte in $mappings und $csv, damit sie auf die im vorherigen Abschnitt gespeicherte Zuordnungsdatei verweisen.
$sourceConnection = Connect-MicrosoftOnline
$destinationConnection = Connect-MicrosoftOnline
$options = New-MailboxCopyOptions -IncludeEmails
$mappings = Import-MailboxMappings -SourceConnection $sourceConnection -DestinationConnection $destinationConnection -Path "C:\MyMappings\SharegateMailboxesMapping.csv"
$csv = Import-Csv -Path "C:\MyMappings\SharegateMailboxesMapping.csv"
# Ensure $csv is treated as an array, even with a single mailbox
$csv = @($csv)
# Initialize the starting index and the batch size
$index = 0
$batchSize = 16
while ($index -lt $csv.Count) {
# Select the current batch
$guids = $csv | Select-Object -Skip $index -First $batchSize -ExpandProperty "Source user id"
# Fetch the mailboxes
$mailboxes = Get-Mailbox -Id $guids -Connection $sourceConnection -AllowMultiple
# Copy the mailboxes
$result = Copy-Mailbox -SourceConnection $sourceConnection -DestinationConnection $destinationConnection -CopyOptions $options -MappingSettings $mappings -Mailboxes $mailboxes
# Export the report
Export-Report -SessionId $result.SessionId
# Increment index for next batch
$index += $batchSize
}
Passen Sie das Skript an Ihre Umgebung an. Hier sind einige Richtlinien:
$sourceConnection und $destinationConnection: Stellen die Verbindung zu Ihren Quell- und Ziel-Microsoft 365-Mandanten her. Die Authentifizierungsoptionen finden Sie unter Connect-MicrosoftOnline.
$options: Legt fest, welche Inhalte in die Kopie eingeschlossen werden. Ersetzen Sie
-IncludeEmailsdurch die Optionen für Ihre Migration. Die verfügbaren Parameter finden Sie unter New-MailboxCopyOptions.$mappings und $csv: Beide müssen auf dieselbe Zuordnungsdatei verweisen. Aktualisieren Sie
-PathundImport-Csv -Path, damit sie der im vorherigen Abschnitt gespeicherten Datei entsprechen.$batchSize: Die Anzahl der Postfächer, die pro Batch verarbeitet werden. Beginnen Sie mit 16 und passen Sie den Wert je nach Leistung Ihrer Umgebung an.
$guids: Extrahiert die Quellbenutzer-IDs für den aktuellen Batch aus der CSV-Datei.
$mailboxes: Ruft die Postfachobjekte für den aktuellen Batch ab. Der Parameter
-AllowMultipleist erforderlich, wenn mehr als eine ID übergeben wird. Details finden Sie unter Get-Mailbox.$result: Enthält das Ergebnis des Kopiervorgangs, einschließlich der von Export-Report verwendeten Sitzungs-ID.
Export-Report: Exportiert nach Abschluss jedes Batches den Migrationsbericht. Siehe Export-Report.
Führen Sie Ihr Skript aus, sobald es richtig angepasst und getestet wurde.
Zu beachten
Modern authentication mit
-ModernAuthist die sicherste Authentifizierungsmethode für Microsoft 365 und kann mit den Variablen Username und Password verwendet werden, solange keine Multi-Faktor-Authentifizierung (MFA) erzwungen wird. Unter Connect-MicrosoftOnline erfahren Sie mehr über die verschiedenen Authentifizierungsoptionen oder wie Sie bei Bedarf zur Browser authentication wechseln.Migrationsberichte werden pro Batch erstellt. Das Skript exportiert den Bericht jedes Batches automatisch mit Export-Report.
Sie können Ihre Migration planen, um sie mit PowerShell außerhalb der Geschäftszeiten auszuführen und die Leistung zu optimieren.
Um eine inkrementelle Migration durchzuführen, führen Sie das Skript nach der ersten Kopie erneut aus, damit nur die Elemente synchronisiert werden, die seit dem letzten Durchlauf hinzugefügt oder geändert wurden.
Batchgröße: Die richtige Batchgröße hängt von der Größe Ihrer Postfächer und den Netzwerkbedingungen ab. Beginnen Sie mit 16 und passen Sie den Wert je nach Leistung an. Kleinere Batches lassen sich leichter überwachen und bei Fehlern einfacher beheben.
Skriptfehler und Tests: Testen Sie Ihr Skript an einer kleinen Teilmenge von Postfächern, bevor Sie es in Ihrer gesamten Umgebung ausführen. So lassen sich mögliche Probleme erkennen, bevor sie eine große Anzahl von Benutzern betreffen.
Dieser Artikel wurde mithilfe künstlicher Intelligenz übersetzt. Wenden Sie sich im Zweifelsfall an die englische Originalversion.
