How to migrate SharePoint library between tenants?

You may not have come across the issue with data migration between two Microsoft 365 tenants. In the following text I would like to show how to handle SharePoint data (library) migration in these quite complicated scenario.

What’s the issue?

If you start to seriously deal with the topic, you will encounter a lot of obstacles and pitfalls and you will start to think, what is the right scenario? You will surely come across Microsoft documentation (e.g. here), but in my opinion, it will not only widen the circle of doubts for the beginner, but rather than guide him to the only right way. Example questions to start solving:

Our solution

Not only for the above reasons, we decided to try to create a tool that would not require scripting in PowerShell, but would have a simple interface and solve the above problems. The result of our efforts is the first version of a migration tool that not only handles the transfer of library data between different tenants, but of course also between libraries within a tenant. The solution is built on our libraries using SharePoint CSOM and requires absolutely minimal configuration on the Microsoft 365 side from the user. The only thing that needs to be done before actually using the migrator is to set permissions in both tenants using the so-called application credentials – https://learn.microsoft.com/en-us/entra/identity-platform/permissions-consent-overview. Key elements of the application?

Of course, we know that some features are missing from the tool and we are counting on them in future releases. These include file metadata transfer, extending the migration options to List type entities and more detailed permissions audit generation across the library (tenant).

How to use our SharePoint library migrator?

So what does the tool look like and how to use it?

  1. Once you have done the correct setup within M365, just configure the parameters directly in the migrator and connect to both libraries.
  2. Load the users and groups, and map them to the target identities.
  3. Perform a migration of the selected directory and apply permissions in the target library
  4. Check permissions
    SharePoint permissions

Are you interested in our approach to the issue? Do not hesitate to contact us, either about the above mentioned tool or about any SharePoint environment consulting (also on-premises).

We are looking forward to hearing from you. Josef Dvořák