This blog is meant to help clarify the relationship as it exists today, April 10th 2018, between parts that make up the Teams interface. Bear with me on this as it is meant to help ME clarify it in my mind as well as yours.

First up, the Teams interface is just that, an interface. Really it is a mashup of several different product lines in O365 and each works with the interface but has it’s own set of rules on the back end. The relationship between the products will not matter to end users as they will just use the interface however, it will matter to admins and consultants. The reason that it will matter to these groups is that as we consultants begin to migrate teams or groups over to other tenants we will need to know how many groups and site collections there are in order to properly assess and license them for migration.

I may be getting over my skis here a bit, maybe I should take a step back to show the way a Team gets created.

By clicking the button shown below in the Team app we begin the process;


It begins by presenting a button to join or create a team;


The wording in this dialog is significant as you will see shortly. Next we get the following dialog;

Create your team

This is an important dialog. You can type in the name of the Team set the privacy of the team as well. Please note that you may not see all of the entries in this dialog as I have enabled site classification on this tenant; read my blog on how to do that here.

Options of interest

Take notice at the bottom of the dialog is a hyperlink “Create a team from an existing Office 365 group” if you click on that link then you get the following dialog;

Choose your team

This dialog allows you to choose an existing group for the Team.

More Relations than a Vacation Movie

So the relationship of Teams >> Groups >> SharePoint is that O365 Groups have a SharePoint backend and as you create Teams the interface creates an O365 Group which creates a SharePoint Site Collection. If you choose to you can create the group first then associate them with the Team.

But the relationships don’t stop there. In addition to creating a Group and a site collection , the Team creation creates a shared Mailbox as well. These mailboxes show up in Outlook and OWA with the groups area as shown below;

Outlook view

And don’t forget that you can add additional apps to the Team App which may or may not have to be recreated when doing a migration. The amount of connections and relationships this app can have are enormous.

What’s in a name?

To enforce a naming convention for your groups, go to the Exchange admin and Groups then click the ellipsis at the end of the command bar and you will see;

Configure Group Naming Policy

You will then see the following dialog to create the naming convention, which can include both text and attributes from Azure AD;

Group Naming Policy

You can also add a list of blocked words that you won’t allow in a Group name;

blocked words

Teams; Testing, testing, is anyone there?

An important point of this is that in testing we found that you can have multiple O365 groups with the same name but that the tool then changes the email address associated with the shared mailbox. This changed name then carries over to the URL for the Site collection.

And yes, the duplicate named Groups do show up in Outlook and OWA as the same name. You can run PowerShell scripts to create the Team and in doing so set the visibility of the team in clients. The HiddenGroupMembershipEnabled parameter is available on the New-UnifiedGroup as well as the Set-UnifiedGroup cmdlet. The new default setting for Groups created through the UI is to hide them from the Outlook and OWA client so that users do not get confused. That will not hide Groups that have already been created from the clients, so you will need to do this with PoSH and the Set-UnifiedGroup cmdlet. As a best practice, we recommend that you set up the group allowed to create groups as shown below in order to limit who can create groups and Teams;

PoSH to set the Group allowed to create Groups

$spadmingrp = “O365Groups_Admin”
$AllowedGroup = Get-AzureADGroup -SearchString $spadmingrp
$Template = Get-AzureADDirectorySettingTemplate -Id 62375ab9-6b52-47ed-826b-58e47e0e304b
$Setting = $template.CreateDirectorySetting()
$setting[“EnableGroupCreation”] = “false”
$setting[“GroupCreationAllowedGroupId”] = $AllowedGroup.ObjectId
New-AzureADDirectorySetting -DirectorySetting $settings

If the PowerShell above does not work for you, install the AzureADPreview module with the following command:

Install-Module AzureAdPreview -Force

PowerShell to Create new Teams

$UserCredential = Get-Credential
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri -Credential $UserCredential -Authentication  Basic -AllowRedirection
Import-PSSession $Session -AllowClobber
Connect-MicrosoftTeams -Credential $UserCredential
$groupid = New-Team -DisplayName “FooBar5” -Classification lbi -AddCreatorAsMember $true
Set-UnifiedGroup -Identity $groupid.GroupId -HideFromExchangeClients
Remove-PSSession $Session

This PowerShell will allow you to create the Team and set the visibility of the Team in the Exchange Clients. The key line here is the New-Team cmdlet as you will need to set the Display name of the Group. You can easily set this up to read from a csv and create each Group as it iterates through the data.


I was asked how to make the Group or Team act as a Distribution list. I would presume that means getting the emails sent to the Group or Team in your inbox. You have control over this in Outlook. If you look at the top right of the Outlook window when you are in the group as shown below;

Notice the drop-down at the top right that says “Following” if you click on it you will see the option;

If I change this then I get;

So the choice is yours. If you follow the group then the Group acts as a Distribution List by sending you all email sent to the Group including events. If you choose to Not Follow the Group then you only get replies to emails you send to the group. If you do not see the following drop-down then you 1) need to click on the group or 2) may need to Update your Outlook client to the O365 version.

The other aspect is the admin property that can be set;

If, during the provision of the team with the PowerShell above, you want to have the setting above applied then you would add the following parameter -AutoSubscribeNewMembers to the Set-UnifiedGroup cmdlet.

Update 4/16/18

According to Microsoft update MC133709, the new setting within the Tenant will be to have all members get all emails to the newly created group by default. Notice that it is ONLY newly created groups, if you have existing groups and you want this behavior you should still run the PoSH as described above.

The Big Takeaway

To go back to relationships again, one of the most confusing parts of the Teams experience is the difference between Conversations and Chats. Conversations are threaded email postings while chat is done through the Team interface and is actually part of Skype. Why does this matter? Well, you will need to understand this to understand what can and what cannot be migrated and then explain it to your users.

So since Conversations are part of the email system, they can be migrated over but most mail migrations are not looking at Shared Mailboxes as sources of content that would need to be moved, that is now changed and the shared mailboxes will need to be migrated. This can significantly increase both the time of migration and the cost.

Chat, on the other hand, does not appear to be able to be migrated at this time although Microsoft appears to be working on the interop between products so maybe that is on the horizon.

The big take away for this blog is that Teams creates many new objects in different systems and while it looks like just another app to the end user it appears more octopus like to system integrators, touching Exchange, Skype, SharePoint and other systems as well.

These inter-relations should make for more challenging migrations in the future but who knows what the future holds?

Live long and Prosper,


Hits: 840