Office 365 Groups and the ProvisioningOption property

Office 365 Groups are Connected to Lots of Resources

Update: Better methods now exist to find the set of team-enabled groups in a tenant.

One of the impressive things about Office 365 Groups is how quickly Microsoft development groups turned to Groups to use their simple membership model instead of creating their own application-specific implementation. The premier list of Office 365 applications that use Groups include Stream, SharePoint Online, Power BI, Planner, Yammer, and Teams.

All of which is great, but administrators sometimes want to know what resources a group is connected to, such as whether a group is connected to a team or Planner. The sad fact is that there’s no good way to make a simple PowerShell query to return this information.

Some people advocate looking at the ProvisioningOption property returned by the Get-UnifiedGroup cmdlet. This will tell you if Yammer created a group because the value of the property is then set to “YammerProvisioning.”

[Update – January 9, 2019: Microsoft has updated the Get-UnifiedGroup cmdlet to remove the ProvisioningOption property.]

The Many Values Created by Exchange

However, when an Exchange client (including the New-UnifiedGroup PowerShell cmdlet) creates a new Office 365 Group, you end up with some explainable values in the property. Here’s a selection of what I find in my own tenant:

  • ExchangeProvisioningFlags:2028
  • ExchangeProvisioningFlags:2020
  • ExchangeProvisioningFlags:2529
  • ExchangeProvisioningFlags:3552
  • ExchangeProvisioningFlags:227
  • ExchangeProvisioningFlags:481

Worse, you might find that the property doesn’t have a value. I accept that this might be the case for older groups (those created in 2016 or before), but even newly-created groups sometimes have a blank value for ProvisioningOption.

The profusion of different values or the lack of a value makes it hard to depend on the ProvisioningOption for anything, including listing Office 365 Groups that are team-enabled, which is probably the most frequent request when it comes to figuring out what resources belong to a group.

Microsoft’s Warning

The Office 365 Groups marketing manager, Christophe Fiessinger, said in 2017 that “Using ExchangeProvisioningOption is NOT recommended since not all apps leverage it.” Not much has changed since and there’s no word from the engineering group that they might have done anything to improve the situation.

Use Get-Team to See Team-Enabled Groups

Since the original post was written, Microsoft has updated the PowerShell module for Teams. Running the latest version of the Get-Team cmdlet without any parameters returns the set of team-enabled groups in a tenant. This eliminates any need to jump through hoops to figure out a list of teams by checking the properties of groups, looking for team compliance records in the group mailbox, and so on.

Use the Graph Too

If you don’t want to limit yourself to PowerShell, the Microsoft Graph is the fastest method to fetch a set of Teams-enabled groups in a tenant. Here’s an example of using the Graph to fetch Teams. Remember that if you have more than 100 Teams in a tenant, you must use pagination to fetch the team information from the Graph. This post tells you how.


Lots has changed since the original post for this topic appeared in September 2018. Do yourself a favor and keep up to date with the latest in Office 365 by subscribing to the Office 365 for IT Pros eBook. All the information about using the Get-Team cmdlet is in Chapter 14.

9 Replies to “Office 365 Groups and the ProvisioningOption property”

  1. Hi Tony, can you elaborate more on the removal of the ProvisioningOption property? Where did Microsoft officially state this and what alternatives are recommended? Thanks

    1. Microsoft gave an indication that they would remove the property at Ignite. What were you trying to use it for?

      1. Thanks for clarifying the origin of the source.

        I have a client with multiple Office 365 groups that are not appearing in the Teams & Skype Admin Panel nor do they appear the MicrosoftTeams powershell module “Get-Team” and neither in Outlook as groups. In order to have them appear again under Teams & Skype Admin panel and Powershell I had to use Graph Explorer to set the property “resourceProvisioningOptions” to “Team” for these groups.

        E.g
        Request Type: PATCH
        https://graph.microsoft.com/v1.0/groups/{group-id}/

        Request Body:

        {
        “resourceProvisioningOptions”: [
        “Team”
        ]
        }

        After that, the teams appeared in Teams & Skype Admin Panel and in powershell. I also did Set-UniversalGroup -HiddenFromExchangeClients:$False to have them appear in Outlook.

      2. There’s an acknowledged problem with some Teams that Microsoft is backfilling at the moment to update their properties so that they appear in the Teams and Skype for Business Online Admin Center. I mentioned this in https://office365itpros.com/2019/01/18/office365-bits-pieces-january-2019/

        I think you used Set-UnifiedGroup rather than Set-UniversalGroup? BTW, having Teams hidden from Exchange clients is quite deliberate. See https://www.petri.com/hiding-office-365-groups-exchange-clients

      3. Sounds good that they’ve acknowledged and are fixing it.

        In the meantime I made a little script that checks the O365 Groups against the Teams and finds out which are missing, in a neat colored output. I checked our customer/clients groups yesterday, still not patched on their end.

        $groups=Get-UnifiedGroup
        $teams=Get-Team

        write-host (“{0,-70}{1,-70}{2,-30}” -f “Group”,”Result”,”HiddenFromExchangeClientsEnabled”) -ForegroundColor White -BackgroundColor Blue

        foreach ($group in $groups) {
        if ($group.DisplayName -notin $teams.DisplayName) {
        Write-host (“{0,-70}” -f $($Group.DisplayName) ) -ForegroundColor Cyan -NoNewline;Write-host (“{0,-70}” -f “Not appearing in Teams PS-Module or Teams & Skype Admin Panel”) -ForegroundColor Red -NoNewline; Write-Host (“{0,-30}” -f $($Group.HiddenFromExchangeClientsEnabled) ) -ForegroundColor Yellow
        }
        if ($group.DisplayName -in $teams.DisplayName) {
        Write-host (“{0,-70}” -f $($Group.DisplayName) ) -ForegroundColor Cyan -NoNewline;Write-host (“{0,-70}” -f “Appears in Teams PS-Module and Teams & Skype Admin Panel”) -ForegroundColor Green -NoNewline;Write-Host (“{0,-30}” -f $($Group.HiddenFromExchangeClientsEnabled) ) -ForegroundColor Yellow
        }
        }

        And yes of course, indeed I meant Set-UnifiedGroup. Haha!

      4. Nice work… But I do want to make the point that it is perfectly normal for an Office 365 group used by a team to be hidden from Exchange clients. In fact, this is the default condition since April 2018 (approx.).

  2. Sounds good that they’ve acknowledged and are fixing it.

    In the meantime I made a little script that checks the O365 Groups against the Teams and finds out which are missing, in a neat colored output. I checked our customer/clients groups yesterday, still not patched on their end.

    $groups=Get-UnifiedGroup
    $teams=Get-Team

    write-host (“{0,-70}{1,-70}{2,-30}” -f “Group”,”Result”,”HiddenFromExchangeClientsEnabled”) -ForegroundColor White -BackgroundColor Blue

    foreach ($group in $groups) {
    if ($group.DisplayName -notin $teams.DisplayName) {
    Write-host (“{0,-70}” -f $($Group.DisplayName) ) -ForegroundColor Cyan -NoNewline;Write-host (“{0,-70}” -f “Not appearing in Teams PS-Module or Teams & Skype Admin Panel”) -ForegroundColor Red -NoNewline; Write-Host (“{0,-30}” -f $($Group.HiddenFromExchangeClientsEnabled) ) -ForegroundColor Yellow
    }
    if ($group.DisplayName -in $teams.DisplayName) {
    Write-host (“{0,-70}” -f $($Group.DisplayName) ) -ForegroundColor Cyan -NoNewline;Write-host (“{0,-70}” -f “Appears in Teams PS-Module and Teams & Skype Admin Panel”) -ForegroundColor Green -NoNewline;Write-Host (“{0,-30}” -f $($Group.HiddenFromExchangeClientsEnabled) ) -ForegroundColor Yellow
    }
    }

    And yes of course, indeed I meant Set-UnifiedGroup. Haha!

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.