Power BI for Exchange Migrations

Are you planning or in the beginning stages of an Exchange migration?

Exchange to Exchange Online migrations are very complex. There are many factors that need to be considered, users, technical details, VIPs and project champions., etc..

My goal is to help in some areas of migrations that are constant across migrations to Exchange Online using Power BI.

How can you utilize Power BI with Exchange Migrations? First we need to start with Power BI.

Power BI is not just an application but a cloud analytics service. It allows users to visualize and analyze data quickly. It has a easy and user friendly interface that lowers the bar for entry for new users. Where things get a bit complex is when trying to sort out licensing. I have a blog post that explains at length licensing and the different versions of Power BI.

Power BI Key Features

The ability to import data from a plethora of sources, especially other non-Microsoft services, including but not limited to the following.

    • Azure Data Lake
    • Azure Cosmos
    • Azure Blob
    • Salesforce
    • Facebook
    • Dynamics
    • QuickBooks Online
    • Zendesk
    • Google Analytics
    • Excel
    • Access Databases
    • SQL/MySQL
    • PostgreSQL
    • GitHub
    • JSON
    • Folders
    • SharePoint
    • XML
    • Teradata
    • Oracle
    • IBM DB2 Database
    • IBM Informix (Beta)
    • IBM Netezza
    • Amazon Redshift
    • Google Big Query
    • OData Feed
    • R Script

 

 

 

 

 

Now to the fun stuff!

The list below contains some of the primary areas that are difficult to extrapolate but are crucial to migrations. Gaining visibility adds a level of clarity certain to ensure your migration runs smoothly. The following list is are the areas that I will be focusing on.

    • Mailbox Delegations
    • Mailbox Sizes
    • Mailbox Item Counts
    • Migration Waves

We can create basic reports that can accomplish the following.

First, we will need to export data.

Export all of the mailbox permissions with the following Exchange PowerShell code.

Get-Mailbox -ResultSize unlimited | Get-MailboxPermission | Select Identity,User,@{Name='Access Rights';Expression={[string]::join(', ', $_.AccessRights)}} | Export-Csv MailboxPermissions.csv –NoTypeInformation

Next, we export all of the mailbox sizes.

Get-Mailbox -ResultSize unlimited | Get-MailboxStatistics | Select-object DisplayName, ItemCount, @{expression={$_.TotalItemSize.Value.ToMB()};Label="SizeInMB"} | export-csv MailboxSizes.csv -Notypeinformation

Now, that we have the data we need to import it in to Power BI Desktop. There is a lot of data wrangling required. The data wrangling will vary depending on naming schemes, etc., but this Power BI template can serve as a guide. Simply download the file and change the source location of the data to where you stored the files that were created.

Prior to creating reports, you will need to download the visualizations from the Microsoft Marketplace.  I used the Bubble Chart by Akvelon and the Network Navigator Chart which is from Microsoft.

The video below will show the basic reports that you can create.

This methodology can be applied to shared mailboxes, which is what let me to developing these reports. I have an old post here. Hopefully the creativity juices are flowing and you will apply Power BI visualizations to many other areas.

Author: J P

Azure, Azure AD, Office 365, Exchange, Exchange Online, Power BI, Data Science, Cloud in general and Power Shell are my passions. I love learning and staying current with technology.