PowerShell offers administrators a more flexible and powerful way to perform management activities in Exchange Online. At times, PowerShell is the only way to perform certain management tasks.
But there have been widespread concerns by many Exchange administrators who have not always felt confident in Exchange Online PowerShell’s abilities, especially when dealing with thousands of mailboxes and complicated actions. But Microsoft recently released the Exchange Online PowerShell V2 module — also known as the ExchangeOnlineManagement module — to reduce potential management issues.
New cmdlets attempt to curb PowerShell problems
Moving the messaging platform to the cloud can frustrate administrators when they attempt to work with the system using remote PowerShell without a reliable connection to Microsoft’s hosted email system. Microsoft said the latest Exchange Online PowerShell module, version 0.3582.0, brings new enhancements and new cmdlets to alleviate performance and reliability issues, such as session timeouts or poor error handling during complex operations.
Where a spotty connection could cause errors or scripts to fail with the previous module, Microsoft added new cmdlets in the Exchange Online PowerShell V2 module to restart and attempt to run a script where it left off before issues started.
Microsoft added 10 new cmdlets in the new Exchange Online PowerShell module. One new cmdlet, Connect-ExchangeOnline, replaces two older cmdlets: Connect-EXOPSSession and New-PSSession.
Microsoft took nine additional cmdlets in the older module, updated them to use REST APIs and gave them new names using the EXO prefix:
Microsoft said the new REST-based cmdlets will perform significantly better and faster than the previous PowerShell module. The REST APIs offer a more stable connection to the Exchange Online back end, making most functions more responsive and able to operate in a stateless session.
Given that administrators will develop complex PowerShell scripts for their management needs, they needed more stability from Microsoft’s end to ensure these tasks will execute properly. Microsoft helped support those development efforts by introducing better script failure with functionality that will retry and resume from the point of failure. Previously, the only option for administrators was to rerun their scripts and hope it worked the next time.
There are cases where some properties are queried during a script execution that can generally impact the overall response and performance of the script given the size of the objects and their properties. To help optimize these scenarios, Microsoft introduced a way for a PowerShell process to run against Exchange Online to only retrieve relevant properties of objects needed during the execution process. An example would be retrieving mailbox properties that would be the most likely to be used, such as mailbox statistics, identities and quotas.
Microsoft removed the need to use the Select parameter typically used to determine which properties are needed as part of the result set. This neatens scripts and eliminates unnecessary syntax as shown in the example below.
How to get the new Exchange Online PowerShell module
To start using the latest Exchange Online PowerShell capabilities requires the installation or upgrade of the ExchangeOnlineManagement module. This can be done from a PowerShell prompt running under administrator settings and executing one of the two following commands:
The command completes in 1.29832 seconds, or almost half the time. Extrapolate these results to an organization with many thousands of users and mailboxes in Exchange Online and you can begin to see the benefit when a script takes half as much time to run.
Use the following command to get mailbox details for users in the organization:
Be aware of the Exchange Online PowerShell module provisions
There are several caveats Exchange administrators should know before they use the latest ExchangeOnlineManagement module:
The new Exchange PowerShell Online module only works on Windows PowerShell 5.1 with support coming for the new cross-platform version of PowerShell.
Data results returned by the latest cmdlets are in alphabetic order, not chronologically.
The new module only supports OAuth 2.0 authentication, but the client machine will need basic authorization enabled to use the older remote PowerShell cmdlets.
Some results may require additional formatting or adjusting because the new cmdlets give output alphabetically.
Administrators should use Azure AD GUID for account identity.
How to give Microsoft feedback for additional development
As Microsoft continues to improve the module, administrators will continue to see more capabilities that will allow them to have a much more improved experience with PowerShell to manage their Exchange Online environment.
There are three avenues for users to provide feedback to Microsoft on the new PowerShell commands. The first one is to report bugs or other issues during the processing of the different scripts from within PowerShell. To do this, run the following command:
Connect-ExchangeOnline -EnableErrorReporting -LogDirectoryPath <Path to store log file> -LogLevel All
The second option is to post a message on the Office 365 UserVoice forum.
Lastly, users can file an issue or check on the status of one with the Exchange Online PowerShell commands on the Microsoft Docs Github site at this link.
We’re barely into 2020, and yet so much has happened in such a short time. We know many of you, like the Mixer team here in Redmond, are practicing “social distancing,” learning how to “flatten the curve,” and otherwise taking precautions amid the outbreak of COVID-19. We’re proud and heartened by the stories you’ve shared and the ways we’ve seen Mixer streamers and their communities using Mixer to stay in touch digitally and support each other during this challenging time. Thank you for continuing to make the Mixer community shine as a positive and welcoming place for new and existing members alike.
Over the past couple of months, we’ve been hard at work behind the scenes on a set of new features and capabilities based on feedback we’ve heard from you. These are focused on improving discoverability, empowering communities of all sizes and making it easier to find your new favorite Mixer creators. We’re rolling them out starting today.
New Mixer homepage – We’ve refreshed the Mixer homepage across all platforms to give more focus to featured content as well as provide smart, AI-powered recommendations. The most immediate change you’ll notice on your homepage is that we’re introducing a new layout that displays all featured creators at the same time.
Below the “Featured,” “Top Category,” and “Partner Spotlight” sections, you’ll also find brand new content rows. These rows will highlight and recommend streams from community events, cultural moments, and more tailored content as time goes on. The rows will be a mix of AI-powered personalized recommendations and editorially programmed content, ensuring you can discover and join even more communities across Mixer.
Auto-Hosting for everyone – We’ve spent the last month testing Auto-Hosting with Mixer Partners and now we’re excited to share it with every streamer. With this feature, you’ll be able to create a list of specific streamers that you want to automatically host when you’re offline. We’ve added a host of customization options as well.
You’ll be able to set your Auto-Host list to host in a priority order or to pick at random. With showcase, you’ll be able to set custom Auto-Host time durations. This means Auto-Host could switch to a new streamer from your list every hour (you determine the time) instead of when that hosted streamer goes offline.
You can access your Auto-Hosting setting in the Broadcast dashboard.
Higher-Quality Emotes – This top community ask is no longer “Soon™”, it’s finally here! Starting today, we’re enhancing all emotes to 28 pixels across all platforms, introducing new prefixing requirements and completely refreshing our global emotes. New global emotes will be visible today and all partner emotes will be updated over the next few weeks.
Ad Break (Beta) – Our Mixer Partners have been testing advertising pre-roll for the last few months and now we’re expanding our advertising testing with an Ad-Break beta. With this, Partners can choose when they want to run ads during their stream. This was a request from the Mixer Partner community, and we’re excited to be testing it as part of the full package of monetization opportunities on Mixer.
Xbox Viewing Improvements – We’re continuing to add more features to the new Mixer viewing experience on Xbox. This new experience is built from the ground up to get you to your favorite streamers as fast as possible. With the April Xbox One system update that’s in some Insider rings now, you’ll see the additions of emotes and subscriber badging in chat.
Ember messages will also get the flair they deserve to help them stand out. We’ve also made it easier to access stream settings for selecting chat layout or video quality. Outside of this latest Xbox One system update, we also expect to have Gift Subs available in the new experience in the coming weeks.
Partner Badging on Homepage – To make it easier to find Mixer Partner channels, we’re adding the new badging to the homepage as well.
Notifications UX Improvements – We’ve added a new notification bell to the pages of channels you follow, so you have better control over which channels will trigger “go live” notifications.
Clips Creation Improvements – Clip creation is now available for more viewers of Mixer Partners and Verified channels in the Mixer app on iOS and Android. Clip creation on mobile respects the Rank, Subscriber, and Moderator permissions that the channel owner has set.
There’s much more coming, and we’re excited to share details soon. Going forward, we will be posting more frequent community updates on this blog. They’ll cover everything from events, to community news and features! Stay tuned for more updates and please keep sharing your feedback on Twitter with us at @WatchMixer.