Recently I was involved in an Office 365 Tenant to Tenant migration. The project dates were very tight and a lot of decisions have been made already. My original task was to migrate teams data to a new tenant. Despite our better knowledge, we had to use BitTitan to migrate Teams. As feared the process and the results didn’t fulfill the expectations of the admins and the users. We tried our best to mitigate the limitations of the migration tool by doing some pre- and post-processing, like setting the Teams and related resources to read-only, separate the document migration from BitTitan migration, adjust the user mapping, reapply Teams settings assisted by scripts etc…
One of the requests which came up while we started the Teams migration was to migrate existing Planner from the source Tenant to the destination Tenant. The migration tools we used for Teams and SharePoint Migration didn’t allow the migration of this O365 Group Feature.
To be honest, I’m not a big fan of tools for tasks we can also solve with onboard resources or well-known methods. After a short research I found Alexander Holmeset’s great blog article (https://alexholmeset.blog/2019/10/14/planner-tenant-to-tenant-migration/) how to migrate plans from one tenant to another which nearly fulfilled our requirements for the migration. Because we didn’t want to migrate all plans and had some issues with umlauts, we made to some adjustments and fixes to get the script running smoothly.
What I’ve adjusted in short:
- added handling for umlauts
- fixed errors in the task creation related to the date format
- added parameters to make the script more universal
- changed the authentication process to get away from the device login
- changed the scope from all groups in the source Tenant to explicit groups
- adjusted the user-mapping settings
- added some error handling for user assignment errors
- added a synopsis to the script to make it better usable for migrations
Feel free to download the script and use it to migrate plans from one Tenant to another. There are a few prerequisites to be done which are described in the script-based help.
When the preparations are done you can use the script to migrate one or all plans from one O365 Group of the source Tenant to a O365 Group in the destination tenant as follows:
.\migrate-planner_doc.ps1 -SourceGroupID 927e47e7-09f4-4b38-8aac-80f68d121801 -DestinationGroupID dba6eaa0-e714-4f81-8cb8-8295611a3cfa -sourceDomain "oldworld.com" -destinationDomain "@newworld.de"
Make use of the parameter „singleplanid“ if you only want to migrate a single plan from a O365 Group.
Make use of the parameter „usercheck“ to be able to interact when a task assignment can’t find a related assignee.
Here you can find my „Interpretation“ of Alexanders great planner migrations script: