Browsed by
Month: September 2015

Office 365 High Speed Migration Quick Start Chart

Office 365 High Speed Migration Quick Start Chart

Get migrating to Office 365 quicker using the quick start chart below.

Also available in PDF form with links to the relevant information.

Quick Start Chart for Migration

office 365 migration decision tree


Get FREE Azure Storage from Microsoft for your Office 365 High Speed Migration

Get FREE Azure Storage from Microsoft for your Office 365 High Speed Migration

There exists the capability inside of the office 365 administration to create a storage account at Microsoft’s cost. The intention is that you use it for high speed migrations either Exchange or SharePoint.

Navigate to the Admin Center in Office 365 and then choose the import option on the left (may require first release)

free azure storage 01

Choose “Upload the Files over the network”

free azure storage 02

Choose Get/Show Key and & URL on the Page

free azure storage 03

You should now have an Azure Key that you can use in the first text box and the second will be a url like

This means your storage account name is “139480f098f09318083” and so the same key/account name can be used to mount in storage explorer, use the storage queue service, etc.

Its not like storage is very expensive with Azure, however it removes one more barrier to the migrations for Office 365 Administrators.

Office 365 SharePoint Parallel High Speed Migration Powershell Example Scripts

Office 365 SharePoint Parallel High Speed Migration Powershell Example Scripts

Last week there was an announcement from the Office 365 team regarding the High Speed Migration Preview. It was first announced back in may at Ignite (First Look article here) and has been in trials by several ISVs as well as individuals (Find the announcement here). Directly linked from this announcement is an article talking abit more technically about the Migration Process that circumvents the CSOM throttling. This article (link) gives some observed performance numbers from .5GB/HR all the way up to 15GB/HR, I have seen these performance numbers and more (Performance Summary here) and what remains is the importance of parallelization of the migration jobs. The single threaded performance is impressive especially when migrating simple file shares however for complex migrations parallelization is key.

So I want to share the way I achieved parallelization during the migration tests I did, so the scripts can be modified/reused. The scripts I wrote point to a file share and gets a listing of the top level directories for that file share. Each Top Level directory then becomes its own migration package and then is submitted separately to the high speed migration ingestion service.

Parallel migration processFurthermore the migration process can go two ways, you have the option of doing all for steps at once (Package, Target, Upload, & Submit) or you have the option of delaying the migration job submission till later such as when all the packages have been uploaded Stage 1 (Package, Target, & Upload) Stage 2 (Submit). This can be useful if you have multiple packages that all need to be uploaded to azure for performance reason or if you want to run the jobs over the weekend for instance, the reason behind it depends.

With a basic understanding of the process,, please find the first stage powershell script below:

In addition to creating packages from each of the top level folders, the script will output the results from the upload of the files to Azure Storage. Its useful to capture the results of the upload in case the submission of the job needs to happen in a separate stage like this. Also good to keep a record of each of the packages which are uploaded, which is why you will find the transcript from the session as well which describes which package goes where in azure.

Well once everything is uploaded you can use the following script to submit the migration jobs to the High Speed Migration ingestion service:

This script takes input when run which is the prefix of the files output from the previous script, should be named something like 123456789.Package.csv. The prompt is looking for the “123456789” prefix from these files to identify which group of jobs to submit. If you don’t want to submit the packages, simply change the name of the file or add a prefix.

Hopefully these scripts can get someone started on their own migration to Office 365. You can find the download links below for the scripts.

Stage 1 – Upload Documents Parallel Generic

Stage 2  – Submit Migration Jobs Generic

Please rename the txt extensions to ps1

One more thing to note is that you should take advantage of the free storage offered by the Microsoft team via the import service, that way you wont have to eat the Azure storage fees. You can get your key and storage account via the Import option in the Office 365 Administrator Center.