Hi Guys,
Today, I have started to use the new “PST import” process for O365. It is much quicker and reliable than using Outlook.
Here is how to use it :
- Install Azure tools
- Download and install the MicrosoftAzureStorageTools.msi from this link https://www.microsoft.com/en-us/download/details.aspx?id=46892
- Download and install the last version of the Azure Storage Explorer from this link https://azurestorageexplorer.codeplex.com/releases/view/125870
- Get credentials to connect to your Azure storage
- Connect to the O365 portal admin
- On the left click on the “IMPORT” button
- Click on the Key
- A new window called “Secure key and URL” open
- Select the button “Copy the key” and “Copy the secure network upload URL”
- These are your credentials to connect to your azure storage (never share the key).
- Upload your pst to Azure
- Launch a powershell console
- Go to C:\Program Files(x86)\Microsoft SDKs\Azure\Azcopy
- Launch the command : “.\Azcopy.exe /source:SharePathToPSTFiles /dest:SecureNetworkUploadURL/Folder/ /destkey:Key /S /V:LogFilePath\Logfile.log”
- Example : “.\AzCopy.exe /source:\\Lt9mk6r4j.emea.adecco.net\c$\users\julien.labalme\desktop\Nigel\ /dest:https://ee33215c499641ac8362756.blob.core.windows.net/ingestiondata/Nigel/ /destkey:v9s7HzoABZPJxBZFAzeWMSrTZmra80ZERVIMfX8Xa0WTUEHw0joyHpyt+aIElBskG2UZ+N7N/4Jm4+nuJ7MRZf== /S /V:C:\users\julien.labalme\desktop\uploadNigel.log”
- Upload your pst file from Azure to the mailbox or the archive
- Start the tool called “Azure Storage Explorer”, this tool give you a view of your azure storage
- Click on “Add Account”
- A new window open,
- Let “Cloud Storage Account” ticked
- Enter your account name which is the part between “https://” and “.blob.core.windows.net” of your destination URL. In my case, it is : “ee33215c499641ac8362756”
- Enter your “storage account key” which is the secure key. In my case, it is : “v9s7HzoABZPJxBZFAzeWMSrTZmra80ZERVIMfX8Xa0WTUEHw0joyHpyt+aIElBskG2UZ+N7N/4Jm4+nuJ7MRZf==”
- Let “Microsoft Azure Default” ticked
- Let the “Storage endpoints domain” set to “core.windows.net”
- Tick “Use HTTPS”
- Click on “Test Access” and if successful, click on “Save”
- You’re now connected to your azure storage
- Select the pst file you want to upload and click on “Security” on the left
- Go to “Shared Access signatures” tab and click on “Generate Signature”
- Copy what is below the “?” character and start by “sv=”. In my case, it is : “sv=2014-02-14&sr=c&sig=k5uDAdKOgPb0COzS9BWTT%2F9PjSP5c2M%2BQoXJwRVPeOQ%3D&st=2015-12-21T23%3A00%3A00Z&se=2015-12-29T23%3A00%3A00Z&sp=r” (this signature is valid for all items in this Blob)
- Launch a PowerShell console, connect to Exchange Online and type the following command : “New-MailboxImportRequest -Mailbox TargetMailboxIdentity -AzureBlobStorageAccountUri ‘https://SecureNetworkUploadURL/Folder/PSTFileName.pst‘ -AzureSharedAccessSignatureToken FileSignature -Name “Folder/PSTFileName.pst” -TargetRootFolder “/” -BatchName “MigrationBatchName” -BadItemLimit 50”
- If you want to upload the PST to the online archive of the user, add the parameter “-IsArchive”.
- If you want to upload the pst into a special folder, set the parameter “TargetRootFolder” with the folder path (Like “Archive_2011”).
- A complete example : “New-MailboxImportRequest -Mailbox nigel.smith@pontoonsolutions.com -AzureBlobStorageAccountUri ‘https://ee33215c499641ac8362756.blob.core.windows.net/ingestiondata/Nigel/NigelSmith_mailbox.pst’ -AzureSharedAccessSignatureToken “sv=2014-02-14&sr=c&sig=k5uDAdKOgPb0COzS9BWTT%2F9PjSP5c2M%2BQoXJwRVPeOQ%3D&st=2015-12-21T23%3A00%3A00Z&se=2015-12-29T23%3A00%3A00Z&sp=r” -Name “Nigel/NigelSmith_mailbox.pst” -TargetRootFolder “/” -BatchName “NigelMigration” -BadItemLimit 50″
- Then you can run the command “Get-MailboxImportRequest -BatchName NigelMigration | Get-MailboxImportRequestStatistics” to get the status of your batch.
If a folder with the same name exist, the process will merge and not create duplicates.
It is not as easy as it was with an on-prem Exchange but it is good that Microsoft proposed this workaround.
Enjoy 🙂
January 20, 2016 at 7:16 pm
Fantastic! Just what I was looking for… Worth noting that the Azureblobstorageaccounturi is case-sensitive. I was getting a “404 not found” error until I realized that the file name within my cmd contained some uppercase but the filename was actually all lowercase. Thanks!
LikeLike
February 5, 2016 at 3:56 pm
Thanks for your comment and I confirm that the AzureBlobStorageAccountUri is case-sensitive -> https://msdn.microsoft.com/en-us/library/azure/dd135715.aspx
LikeLike
February 9, 2017 at 9:50 pm
Can you confirm that that using the new-mailboximportrequest is still valid with O365? I have tried every combination but am still getting the (404) Not found. I have verified the case, as well as the path in Azure Explorer. Any ideas?
Thanks
LikeLike
February 12, 2017 at 5:18 pm
Hi Chabango,
I do think that this process is still working but I haven’t used it since a while…
Have you tried to change the path in Azure where you’re pst file is stored ?
Julien
LikeLike
July 5, 2017 at 10:45 pm
Thanks for the post. Unfortunately it looks like this process doesn’t work anymore with the built-in o365 import storage account, since they changed the process to only expose a sas key with limited list and write access to the end user. It is still possible to use your own paid azure storage account and generate a sas key with more access and it will work.
Thanks,
Stephen
LikeLike