There are lots of options to create a team in Microsoft Teams: the Microsoft 365 admin center when creating a group, the Teams admin center, from the Teams client, or using the Teams PowerShell module. However, as the title implies, not all teams are created equally. I recently became aware of some differences such as if the group is hidden from the address list and Outlook clients or how the email address is formatted.

Creating the Teams

First, let’s create a team in the Microsoft 365 admin center. When creating a Microsoft 365 group, you have the option of also enabling it as a team. Required inputs include the team name, an owner, the primary email address, the visibility, and finally the option to add it as a team. Here is what my final team created in the admin center looks like:

Creating a Microsoft 365 Group and enabling as a team
Creating a Microsoft 365 Group and enabling as a team

Next, let’s jump over to the Teams admin center under Teams > Manage teams > Add. Here I only need to specify the team name, owner, and visibility, but no option to set the email address:

Create a team in the Teams admin center
Create a team in the Teams admin center

We can create a team in the Teams client, which is probably the most common way people create teams. Here I will create a team from scratch, input a team name, and select create. After the team creation, I can select to add additional members but no option to add other owners or set the email address:

Creating a team from the Teams client
Creating a team from the Teams client

Finally, there is the Teams PowerShell module. Using the New-Team command, the only required parameters here are for DisplayName. To be consistent, I will make myself the owner, set the visibility to private, and enter a description:

New-Team -DisplayName "Team Created from Teams PowerShell" -Description "Example of a team created from PowerShell" -Visibility Private -Owner jeff@jeffbrown.tech
Creating a team in PowerShell
Creating a team in PowerShell


Comparing the Teams

Connecting out to Exchange Online PowerShell, I want to compare these four groups using the Get-UnifiedGroup cmdlet. I believe Microsoft 365 groups (formerly Office 365 groups) had their start as unified groups in Exchange. Let’s compare the properties of their Name (or MailNickName), PrimarySmtpAddress, and if they are hidden from the Exchange address list and clients:

Get-UnifiedGroup -Identity "Team Create*" | select DisplayName, Name, PrimarySmtpAddress, HiddenFromExchangeClientsEnabled, HiddenFromAddressListsEnabled
Comparing teams and groups using Get-UnifiedGroup PowerShell cmdlet
Comparing teams and groups using Get-UnifiedGroup PowerShell cmdlet

What’s in a group name?

Let’s look at the name property first. Teams created from both admin centers and the client have a consistent name property. This is the team name without spaces and adding a GUID. I must have hit a character limit for the team created from the M365 admin center.

However, the team created from PowerShell just appended “ms_teams_d60d57” before the GUID and did not use the team name. This is also apparent on the PrimarySmtpAddress field:

Teams PowerShell does not use team name in email address or mailnickname.

The New-Team cmdlet does have a MailNickname parameter, so let’s create another team specifying the mail nickname:

New-Team -DisplayName "Team Created from Teams PowerShell 2" -Description "Example of a team created from PowerShell" -Visibility Private -Owner jeff@jeffbrown.tech -MailNickName "teamcreatedfromteamspowershell2"
Creating a team in PowerShell and specifying the MailNickname property
Creating a team in PowerShell and specifying the MailNickname property

The resulting unified group now has a similar name, although I hit a character limit again:

Team created from PowerShell with specified MailNickname value
Team created from PowerShell with specified MailNickname value

So moral of the story with Teams PowerShell is to specify the MailNickName property so your email address and nickname can match the team name.

Where does the group appear?

Next is where the group and team appear. Originally, every team you are a member of was also added to the Groups section in the Outlook client. This ended cluttering Outlook with lots of groups added below their email folders.

Another issue was each group was showing up in the Exchange global address list. This meant people were sending emails to the groups thinking they were a distribution list and causing confusion. Microsoft responded to community requests to automatically hide these team-related groups from both the clients and the address list.

Going back to our examples in the screenshot above, creating teams from the client and in PowerShell will hide the group from the Exchange address list and also prevent it from appearing in Outlook.

However, teams created from the Microsoft 365 admin center and Teams admin center do NOT follow this convention. For some reason, these teams are not hidden from the address list or from email clients.

Teams created from admin centers are not hidden by default
Teams created from admin centers are not hidden by default

For the team created from the M365 admin center, I can sort of understand why it is not hidden. The primary focus there is going in and creating a Microsoft 365 Group, then you have the option to turn it into a team. Not every M365 Group will be a team, and you probably want it to automatically show up in the address list and email clients.

However, the behavior when creating the team in the Teams admin center should mimic the behavior when creating the team from the client or in PowerShell. It should automatically hide to give the same experience and expectations.

Creating Groups and Teams in Graph API

As for Microsoft’s Graph API, you can create an M365 group and turn it into a team, but this has the same behavior as creating from the admin centers. The group will show up in the address list and clients. However, Microsoft just released new support for Groups properties with hideFromOutlookClients and hideFromAddressLists. These can’t be specified during the group creation; instead, you have to issue the PATCH HTTP method after group creation to modify these values. Check out more on this announcement over at the Microsoft Graph: Developer Blog.

Conclusion

While many organizations lock down creating teams from their end users, hopefully this article will help you understand the nuances of how you (the admin) end up creating the team and the differences you’ll need to account for when doing so.

Questions or comments? If so, drop me a note below or find me on Twitter or LinkedIn to discuss further.

Reference:
What’s new in Microsoft Teams – July Roundup (2018)
Use the Exchange Online PowerShell V2 module
Get-UnifiedGroup
New-Team

This Post Has One Comment

Leave a Reply