Migrate SPO site to another Tenant /SPO

Not applicable


Are there a PowerShell script available somewhere that move/copy a SPO site from one tenant to another ?

or do I have to go with the 'Save as template'  or 'map network drive' (Source tenant + Dest. Tenant)  or 3'party tool?

8 Replies
I have not checked if there is a script that allows that migration, but let me add here my 2 cents about the "Save as template": Don't use it. My recommendation for your scenario is go for a third party migration tool

Hi Juan 

thx. -  3 party tool cost a lot ... :( 



If you have a limited budget, you may consider using a beta version of CodeTwo Backup for Office 365 with the SharePoint feature. The tool would allow you to back up SPO data from one tenant to your local drive, and then restore it to another tenant. Here is the link if you would like to give the program a try: https://www.codetwo.com/form/signup-for-beta-program/.  





Hi Juan 

can you elaborate on the "Save as template" - not to use it? 

Hi, you can use https://mover.io/ 

Mover is a 100% free service. Whether you are a single user or a larger partner, Mover is free.

Hi, I have used mover and it is a nice tool if we want to migrate data with spo site. However if we want to replicate a site only with no data and to create a site duplicate from one tenant to other tenant, is there an conventional way to replicate to another tenant ?
If you just want to replicate the site without data below method can be used.
Using below script create schema/template file of site.
#Set variables
$SiteURL = "https://domain.sharepoint.com/sites/Test"
#Connect to PnP Online
Connect-PnPOnline -Url $siteUrl -Interactive -ForceAuthentication
#Get Site Schema
Get-PnPSiteTemplate -Out "C:\Users\username\Desktop\Data\SiteSchema.xml"

Then invoke or apply template on required site using below script.
#Set variables
$SiteURL = "https://domain.sharepoint.com/sites/Test1"
$SchmaXMLPath = "C:\Users\username\Desktop\Data\SiteSchema.xml"
#Connect to PnP Online
Connect-PnPOnline -Url $SiteURL -Interactive -ForceAuthentication
#Apply Pnp Provisioning Template
Invoke-PnPSiteTemplate -Path $SchmaXMLPath -ResourceFolder "C:\Users\username\Desktop\Data\"

Note: In GUI while creating site, the template is selected to be applied. However In this method first site is created using template same as that of old site(If old site is communication site then destination site also should be communication site) and then using above PowerShell script it is directly applied which make the site a replica with same structure as of the old one with pages but no data in other lists and libraries.

@GautamSharma Mover is no longer free after being acquired by Microsoft.