Microsoft Teams allows administrators to really get hands-on with configuration, governance, and user management
Microsoft Teams has a comprehensive set of PowerShell controls to help you create teams, manage policies, and essentially make the Teams Admin experience that much easier.
First, a little bit about PowerShell – It is a task automation and configuration management framework introduced by Microsoft back in 2006. Since then, it has become a mature, open-source cmdlet repository with its own command-line shell and scripting language. Microsoft Teams PowerShell has 30+ cmdlet references in the last count, and this list is constantly growing.
You could define Microsoft Teams PowerShell as a set of controls that lets you manage core Teams tasks (teams creation, teams management, policy management, and configurations management) from one of two modules – either the Microsoft Teams PowerShell module or the Skype for Business PowerShell module.
Access to PowerShell depends on your Teams Admin role. We’d recommend assigning intended PowerShell users as a Teams Service Administrator, although end-users have limited access to it as well.
All teams on the Microsoft Teams app are essentially groups, as the app is built on the company’s core Microsoft 365 group service. This gives rise to a set of cmdlets for core team operations and settings management. End-users can run the cmdlets and apply them to teams they own or are a member of. But for our recommended Teams Service Administrator role, the cmdlets can act across the entire organization.
The latest PowerShell release came out on June 11, 2020. Interestingly, this skipped several cmdlets that were available in preview like TeamMemberSettings, TeamMessagingSettings, and the like – see the full list here.
Microsoft Teams PowerShell applies to user policies and configurations
Every policy on Microsoft Teams has its own set of cmdlets that let you create, view, delete, and update policies from a PowerShell module. You can even filter out your policy library to work with only the custom policies in your organization.
In addition to policies, configurations can also be managed via PowerShell. But unlike policies, these apply at an organization-wide – not at a user-specific – level. You can view and update configurations via Microsoft Teams PowerShell (obviously, not create new ones!).
This is just the tip of the iceberg. In this quick guide, we have covered the most common Teams activities like creating teams, generating new policies, and managing configurations. There is lots more that Microsoft Teams PowerShell is capable of – you can view the entire list in Microsoft documentation. This is fully open-sourced, inviting contributions from GitHub.
Microsoft is paying close attention to Teams PowerShell. The company plans on combining the Microsoft Teams PowerShell module with the Skype for Business PowerShell module eventually. This would bring configuration, policy, and teams management in one place.
Clearly, Microsoft Teams PowerShell is another of those striking extensions that the company is focused on, even as they race towards the #1 spot on the collaboration charts, in these “primarily stay at home and work” times!