Get Microsoft Teams details using PowerShell

Featured image

In this blog, we shall check how to get the list of Teams created in your Office 365 environment with its details using PowerShell

New Script! To get Microsoft Teams detail with members, follow this blog.

Prerequisities: To run this script you need to have installed SharePoint Online PnP module. You can get this from here.

``` {.black .top-margin .bottom-margin} function Export-TeamsList {
param (
$ExportPath )
process { Connect-PnPMicrosoftGraph -Scopes “Group.Read.All”,”User.ReadBasic.All” $accesstoken =Get-PnPAccessToken $group = Invoke-RestMethod -Headers @{Authorization = “Bearer $accesstoken”} -Uri “https://graph.microsoft.com/beta/groups?$filter=resourceProvisioningOptions/any(c:c+eq+‘Team`’)” -Method Get $TeamsList = @() do { foreach($value in $group.value) { “Group Name: “ + $value.displayName + “ Group Type: “ + $value.groupTypes $id= $value.id Try { $team = Invoke-RestMethod -Headers @{Authorization = “Bearer $accesstoken”} -Uri https://graph.microsoft.com/beta/Groups/$id/channels -Method Get “Channel count for “ + $value.displayName + “ is “ + $team.value.id.count } Catch { “Could not get channels for “ + $value.displayName + “. “ + $_.Exception.Message $team = $null } If($team.value.id.count -ge 1) { $Owner = Invoke-RestMethod -Headers @{Authorization = “Bearer $accesstoken”} -Uri https://graph.microsoft.com/v1.0/Groups/$id/owners -Method Get $Teams = “” | Select “TeamsName”,”TeamType”,”Channelcount”,”ChannelName”,”Owners” $Teams.TeamsName = $value.displayname $Teams.TeamType = $value.visibility $Teams.ChannelCount = $team.value.id.count $Teams.ChannelName = $team.value.displayName -join “;” $Teams.Owners = $Owner.value.userPrincipalName -join “;” $TeamsList+= $Teams $Teams=$null }

        }
        if ($group.'@odata.nextLink' -eq $null )
        {
          break
        }
        else
        {
          $group = Invoke-RestMethod -Headers @{Authorization = "Bearer $accesstoken"} -Uri $group.'@odata.nextLink' -Method Get
        }
    }while($true);
    $TeamsList
    $TeamsList |Export-csv $ExportPath -NoTypeInformation
} } Export-TeamsList -ExportPath "C:\teamslist.csv"

```

Result