Microsoft Teams PowerShell Module 0.9.5

Microsoft has finally updated the native PowerShell module for Microsoft Teams which brings with it a long awaited and requested feature. The 0.9.5 version of the module finally gives us the ability to run Get-Team and see all the teams in the organisation instead of just the teams the signed in account has permissions to. I know, incredible right?!?!

Finally! Get-Team

This is still technically a beta release but the ability to run Get-Team and actually get something useful in return will greatly help people wanting to automate various Teams workflows.

The speed is also pretty good. Prior to this we had to use an inaccurate Get-UnifiedGroup command to get the list of Teams teams (credit: Paul Robichaux). In my environment with ~400 teams it took around 37 seconds to find them using the Get-UnifiedGroup cmdlet but only 1 second using the GetTeam cmdlet. I understand the way this works is that the cmdlet queries the Groups Graph API.

Get-UnifiedGroup (37 sec) vs. Get-Team (1 sec)

However, it’s not all good news. This doesn’t mean that your Global Admin account now has full admin access over your teams. Global Admins can still only do certain things. As an example, the account running Get-TeamsGuestSettings needs to be an Owner of the actual team to avoid an “AccessDenied” error. Baby steps eh?

Oh well…

Another issue is that the ability to list all teams with Get-Team is not limited to your Global Admins. Anyone who manages to load up the PowerShell module will be able to do it. Is this a good idea as it means people can see the names of all the private teams? I’m not so sure...


Details on the new version and details on how to install can be found here but basically all you need to do in order to upgrade from an earlier version is run the following command:

Install-Module -Name MicrosoftTeams

If you have never installed this before and you’re running Windows 10 or Windows Server 2016 just go ahead and run the command above.

If you are not running Windows 10 or Windows Server 2016 then you will need to install PowerShellGet which requires a minimum of Windows PowerShell 3.0 or PowerShell Core 6.0 along with .NET Framework 4.5 or above. More details can be found here.

A full list of the available cmdlets in the module can be found here