Migration of Big Mailbox from G-suit (Google)

Complete Guide to Migrating Large Mailboxes to Microsoft 365

Migrating large mailboxes to Microsoft 365 can be a complex task that requires careful planning and execution. However, with the right tools and procedures, you can ensure a seamless migration process. This guide provides a detailed, step-by-step approach to migrating large mailboxes, focusing on using PowerShell commands and Microsoft 365’s built-in features to manage large mailbox migrations.

Steps to Migrate Large Mailboxes


Step 1: Create the User and Assign a License

Create the User

  • Before migrating any data, ensure that the user account exists in Microsoft 365.
  • You can create the user account manually via the Microsoft 365 Admin Center or through PowerShell.

Assign a License

  • Once the user account is created, you need to assign the appropriate Microsoft 365 license that includes Exchange Online. This will automatically create the mailbox in Microsoft 365.
  • This step is crucial as it establishes the destination for the data to be migrated.

Enable Online Archive

  • Online Archive is an essential feature for large mailboxes, as it allows you to store older emails in an archive mailbox.
  • Enabling auto-expanding archives for large mailboxes ensures that Microsoft 365 can automatically scale the storage capacity for your mailbox as it grows.
  • You can enable the archive via PowerShell:
powershell

 


Step 2: Disable ELC Processing

To prevent issues during migration, it’s crucial to disable ELC (Exchange Lifecycle Management) processing on the user mailbox. This helps avoid potential problems such as retention policies interfering with the migration.

PowerShell Command:

powershell

 

  • Replace user1@contoso.onmicrosoft.com with the actual email address of the user whose mailbox is being migrated.
  • Disabling ELC ensures that no retention or archiving rules conflict with the migration process.

Step 3: Prepare XML File for Time-Range-Based Mapping

For large mailboxes, it’s recommended to migrate data in stages, especially when dealing with different content types or time-based filtering. To automate the migration, you can use an XML file to define content-to-mailbox mapping.

Time-Range-Based Mapping

  • In the XML file, specify the time range in the ContentFilter property. This allows you to migrate items based on their Received date. Microsoft supports four operators for filtering:
    • gt (greater than)
    • ge (greater than or equal to)
    • lt (less than)
    • le (less than or equal to)
Example XML Configuration for Time-Range-Based Mapping:
xml

 

  • Primary: Refers to the primary mailbox where most of the emails will be migrated.
  • MainArchive: Refers to the archive mailbox where older emails will be placed based on the specified time range.

Step 4: Create Large Mailbox Migration Using PowerShell

Once the XML file is ready, you can create the migration batch using the New-MigrationBatch cmdlet in PowerShell. This cmdlet allows you to migrate large amounts of data efficiently.

PowerShell Command:

powershell

 

  • -SourceEndpoint: Refers to the migration endpoint (the source system, such as Google Workspace or on-premises Exchange).
  • -Name: Name of the migration batch, for example, LAO_akhil.
  • -CSVData: The CSV file containing user mailbox information.
  • -XMLData: The XML file defining the time-based mapping (as shown earlier).
  • -TargetDeliveryDomain: Specifies the Microsoft 365 domain to which emails are being migrated.
  • -AutoStart: Automatically starts the migration batch.
  • -ExcludeFolders "All Mail" excludes the All Mail folder (from Gmail) from being migrated.

Step 5: Check Migration Status

Once the migration batch has been created, it’s essential to monitor the status of the migration. You can use the following PowerShell cmdlets to check the status of the migration batch or individual users:

PowerShell Command to Check Migration Batch Status:

powershell

 

PowerShell Command to Check Migration User Status:

powershell

 

  • These commands provide insights into the current status, errors, or warnings during the migration process.

Important Notes

  • Permissions: Ensure you have the Recipient Management role to execute migration tasks.
  • Time Range Consistency: If the time range specified in the XML file is changed during migration, duplicate items may appear in the target mailbox. To avoid this, make sure the time ranges are continuous.
  • Mailbox Size: For large mailboxes, it is best to migrate in batches to avoid any performance degradation during migration.

Conclusion

Migrating large mailboxes to Microsoft 365 can be an efficient and organized process when done correctly. By following these steps—creating users, disabling ELC processing, preparing time-based mapping, creating migration batches using PowerShell, and checking migration status—you can ensure a smooth and successful migration. Ensure you monitor the migration closely and troubleshoot any issues to prevent data loss and ensure continuity.

Spread the love

Leave a Reply

Your email address will not be published. Required fields are marked *