Today at Microsoft Ignite in Orlando we announced several changes that we hope will help Exchange Online Administrators get their admin tasks completed more efficiently and effectively. We’re bringing joy into Admin, one command or click at a time.
A New Exchange Admin Center for Exchange Online
Exchange Admin Center (EAC) is the web-based management console for managing Exchange. The current EAC provides has an ‘well-worn look and feel’ (some might say retro). Some of the other admin portals (SharePoint, Security and Compliance are just two examples) have moved to our latest technology already with admin experiences that are more aligned with the overall M365 admin experience.
It’s now time for EAC to join the party. We’ve built the beginnings of a new modern experience in line with those newer M365 admin portals and though it’s not at all fully functional you can try it now just by browsing to https://admin.exchange.microsoft.com and logging in which your Exchange/Tenant admin credentials.
We think the new portal provides lots of advantages. Aside from simply being more intuitive and coherent with other M365 admin portals, the modern look and feel of the portal make the administration experience simple and fast. Here are some benefits of the new EAC.
Simple mailbox management: The new EAC provides a simple mailbox management experience. The user and shared mailbox management experiences are now merged and the mailbox list and properties are available on the same page.
Personalized dashboard and reports for Exchange admin: Exchange admins now have a personalized home page where they can drag and drop reports they use often and see the reports directly on their home page. They can select date ranges and various pivots to make them more relevant.
Improved Migration: The Exchange and G Suite migration capabilities are now simple wizard-based experiences.
Staying on the subject of G Suite migrations for a moment, our G Suite migration experience is now even better! The newest update to our G Suite migration toolset switches migration of Mail (this is new), Calendar and Contact data to use Google’s REST APIs.
This means the 2GB per user per day restriction we previously had when using IMAP for Mail data migration will no longer apply!
This has been the #1 customer ask since we released the v1 of our REST-based migration tools; as we all know that 2GB per user per day just doesn’t cut it for customers with large mailboxes to move! The velocity of your migration (per day) now depends upon the quota units available for the Google REST APIs in your Google tenant.
There are no changes to the existing UI or PowerShell Cmdlets to take advantage of these changes. If you do have migrations in progress, don’t worry. Batches created or started after this change has been activated use the REST APIs. Those that were in progress before the changes will continue to finish migrating using IMAP, Google Calendar API and Google Contacts API unless they are stopped/removed and recreated.
So if you are an Exchange Admin, go try out this new experience today at https://admin.exchange.microsoft.com and share your feedback with EAC product team by clicking the “Give Feedback” button within the portal. We really want to hear your feedback and plan to continue evolving the new portal based on that feedback.
Please note that the existing EAC and the new EAC will run side by side throughout this development cycle.
Faster and More Reliable Exchange Online PowerShell Cmdlets
We know how painful it can be to use Exchange Online PowerShell to read and make changes to large number of Exchange objects. Today we announced some improvements that we hope will change your day to day Exchange management experience for the better. We think you should spend less of your valuable time writing complex scripts to handle error cases and spend more time getting actual work done, making configuration changes, analyzing results and making decisions.
The New Exchange Online Management Cmdlets (we’re referring to these as V2 Cmdlets) are considerably more reliable and much faster than those you use today. They recover and retry from failure on their own and provide much better overall performance.
How much faster? Managing our own Microsoft tenant, which contains some 300k+ mailboxes – we saw results an average of 4-8X faster, with vastly improved reliability. Your mileage will vary, but we think you’re really going to notice the difference and be very happy with the results.
So, what changed? And what was announced today at Microsoft Ignite?
The EXO V2 Cmdlets were changed to use the REST API. And the big news is they are available today. We intend for these new Cmdlets to replace their older, less efficient equivalents, as time goes along. We do still have the original Cmdlets available in the EXO V2 module for backwards compatibility, and have no plans to remove them at this time.
The new Cmdlets in the EXO V2 module are listed in the following table, alongside their existing counterparts. The most obvious change is simply the addition of ‘EXO’ to the Cmdlet name. But there’s a lot more going on that that.
New cmdlet in the EXO V2 module |
Older related cmdlet |
The V2 Cmdlets have also been designed to provide the same core functionality of their V1 equivalents, but they behave a bit differently. Some of the key differences are;
- V2 Cmdlets don’t return all properties by default. Instead, they return a minimum set of properties by default. If you want to get additional properties, you need to pass it as input parameter. Read more here.
- The Identity parameter doesn’t accept name or alias. It only accepts UserPrincipalName or AAD ObjectID.
What are Some of the Benefits of new V2 Cmdlets?
We solve the reliability problems with PowerShell because we made the Cmdlets stateless with no affinity to the connected server. We also added pagination support to enable retry and resume from the point of last failure. We improve performance by defaulting to a min-set of objects returned, rather than the entire set we return today. We do, of course, support adding more properties during Cmdlet call.
This new module is backwards compatible. It contains 10 new EXO Cmdlets as well as all 700 or so older Remote PowerShell Cmdlets and another great thing is there is a single connect function to access all Cmdlets.
We believe this module is more suitable for automation scenarios, you can install, update & maintain via standard PowerShell Gallery Cmdlets. We also want to call out that this module supports Modern Auth (i.e. OAuth) only, it doesn’t support Basic Auth.
And one final big change is that it invokes multi-threading automatically to provide better performance. Iteration in PowerShell can be achieved using either for-each looping or Piping. We recommend piping as the module invokes multiple threads when certain Cmdlets are piped. See the example below.
So How Do You Try Out These New Cmdlets?
Install the new EXO PowerShell module from here. See additional instructions here.
Simply use Connect-ExchangeOnline to use all the available Cmdlets.
$Credential = Get-Credential
Connect-ExchangeOnline -Credential $Credential -ShowProgress $true
Usage Example
Remote PowerShell (V1 Cmdlet) – A For Each loop.
$mailbox = Get-Mailbox -ResultSize 1000
foreach ($user in $mailbox) {
Get-MailboxStatistics $user.id
}
The EXO PowerShell V2 version of above scenario using piping.
Get-EXOMailbox -ResultSize 1000 -PropertySets StatisticsSeed | Get-EXOMailboxStatistics
The example above retrieves a specific set of properties specified under bucket “StatisticsSeed” which when piped to Get-EXOMailboxStatistics provides the best performance when retrieving mailbox statistics.
Summary
We’re very happy to be announcing these improvements today and we really hope you enjoy trying out these new capabilities. Please do share your feedback either in EAC directly, here on the post or in the Exchange Tech Community.
The Exchange Admin and Migration Teams