Office 365 Groups are Connected to Lots of Resources
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.”
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:
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.
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. Perhaps this is an announcement Microsoft plans to make at Ignite 2018.
Graph and Get-Team
If you don’t want to limit yourself to PowerShell, the Microsoft Graph offers methods to list teams. Here’s one example of using the Graph through PowerShell to list Teams and team details and here’s another to list all the Teams in a tenant.
Until Microsoft delivers a more usable method to detect what resources belong to Groups, if you need to figure out whether a group is team-enabled, the only reliable approach you can take in PowerShell method is to check for the presence of Teams compliance records in the group mailbox. We explain how to do this in Chapter 13 (all about compliance records) and Chapter 14 (using PowerShell with Teams) in Office 365 for IT Pros.