Microsoft Gold Cloud CRM and Gold Cloud Platform Partner

Microsoft seems to be constantly enticing us to migrate our classic Azure Service Manager (ASM) resources by adding new features to the Azure Resource Manager (ARM) portal and not back-porting them to the classic Stack. Unfortunately, Microsoft has never made the transition between the classic and new portal simple.

As part of a bigger migration project, one our clients requirements were to migrate over 5TB of production data from the classic portal to the new portal so they could take advantage of encryption at rest. As this was part of a bigger migration project taking place, we needed the actual data copy to take as little time as possible during the scheduled downtime as a chunk of the downtime is allocated to testing.

AzCopy was the perfect candidate to migrate the storage blobs since /XO switch allows you to exclude older or newer source resources from being copied so this allowed us to migrate the blobs a week in advance, and then migrate the remaining blobs on the day of the cut over. An added bonus is money is saved as files are transferred asynchronously between Azure data centers.

Unfortunately what AzCopy doesn’t support copying multiple containers out of the box. I quickly threw a powershell script together to get around this minor roadblock which you can download at the bottom of this post. It will get a list of containers on your classic storage blob and copy create the files with AzCopy to your new storage blob all in one swoop.


Download the migration script HERE. 

I included AzCopy version since that is the one I used. If you are just migrating between two storage accounts in the ARM portal, just ignore logging into the ASM portal.


  • Extract the files to the root of C:\
  • Open migration.ps1 with a text editor
  • Edit the Storage Account Variables section
  • Test and go!