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 Einstellung 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 bei der Authentifizierung für „Other user" bei 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, wodurch sich größere Postfachmigrationen leichter verwalten lassen.
Vorgehensweise
Für Ihre Postfachmigration benötigen Sie eine Zuordnungsdatei und ein PowerShell-Skript, das diese Datei ausliest, um Postfächer batchweise zu kopieren.
Zuordnungsdatei einrichten
Ihre Zuordnungsdatei ist eine CSV-Datei, die jedes Quellpostfach seinem Ziel zuordnet. Richten Sie sie vor der Ausführung 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 generieren. 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\"
Passen Sie "C:\MyMappings\" an den Ordner auf Ihrem Laufwerk an, in dem Sie die Zuordnungsdatei speichern möchten. Verfügbare 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.
In ShareGate Migrate
Folgen Sie den Schritten unter Copy mailboxes - Mappings, um Ihren Vorgang einzurichten und den Zuordnungsbildschirm zu erreichen.
Klicken Sie auf das Symbol Export mappings.
Speichern Sie die CSV-Datei und notieren Sie sich den Pfad.
Sobald Sie Ihre Zuordnungsdatei haben, öffnen Sie sie und bestätigen Sie die Zuordnungen. Sie können die CSV-Datei bearbeiten, um Zuordnungen zwischen Quelle und Ziel vor der Ausführung der Migration hinzuzufügen, zu entfernen oder anzupassen.
Skript erstellen
Kopieren Sie das folgende Skript und fügen Sie es in die PowerShell-Anwendung Ihrer Wahl ein. Passen Sie die -Path-Werte in $mappings und $csv so an, dass 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"
# 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 Sie eine Verbindung zu Ihren Quell- und Ziel-Microsoft 365-Mandanten her. Authentifizierungsoptionen finden Sie unter Connect-MicrosoftOnline.
$options: Legt fest, welche Inhalte in den Kopiervorgang einbezogen werden. Ersetzen Sie
-IncludeEmailsdurch die Optionen für Ihre Migration. Verfügbare Parameter finden Sie unter New-MailboxCopyOptions.$mappings und $csv: Beide müssen auf dieselbe Zuordnungsdatei verweisen. Passen Sie
-PathundImport-Csv -Pathso an, dass sie mit der im vorherigen Abschnitt gespeicherten Datei übereinstimmen.$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 Migration report. 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 darüber, wie Sie bei Bedarf zu Browser authentication wechseln.Migration reports 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 Incremental Migration durchzuführen, führen Sie das Skript nach dem ersten Kopiervorgang erneut aus, um nur Elemente zu synchronisieren, die seit dem letzten Durchlauf hinzugefügt oder geändert wurden.
Batchgröße: Die richtige Batchgröße hängt von Ihren Postfachgrößen 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 potenzielle Probleme erkennen, bevor sie eine große Anzahl von Benutzern betreffen.
Dieser Artikel wurde mit künstlicher Intelligenz übersetzt. Bei Unklarheiten konsultieren Sie bitte die englische Originalversion.
