Como exportar detalhes do Microsoft Teams com membros usando o PowerShell

Está migrando seu ambiente de Microsoft Teams para outro tenant manualmente?

Com este script de Powershell você poderá exportar detalhes do Microsoft Teams em seu Tenant com as informações a seguir para um arquivo CSV:

  • Nome da equipe
  • Número de Canais
  • Nomes de Canais
  • Dono da Equipe
  • Contagem de membros da equipe
  • Membros da equipe

Leia mais:

Como Restaurar Uma Equipe Excluída No Microsoft Teams
Como rotular e abrir um documento PDF com o Azure Information Protection (AIP)
Como ativar Ausência Temporária (OUTLOOK) pelo celular
Microsoft lança novos recursos da Cortana para empresas
Intune: Removendo Administrador Local com String

Pré-requisitos: para executar este script, você precisa ter instalado o módulo PnP do SharePoint Online. Você pode obter isso aqui.

            function Export-TeamsList
{  
     param (  
           $ExportPath
           )  
    process{
                Connect-PnPOnline -Scopes "Group.Read.All","User.ReadBasic.All"
                $accesstoken =Get-PnPAccessToken
                $MTeams = Invoke-RestMethod -Headers @{Authorization = "Bearer $accesstoken"} -Uri  "https://graph.microsoft.com/beta/groups?`$filter=resourceProvisioningOptions/any(c:c+eq+`'Team`')" -Method Get
                $TeamsList = @()
                $i=1
                do
                {
                    foreach($value in $MTeams.value)
                    {
       
                            Write-Progress -Activity "Get All Teams" -status "Found Team $i"                
                  
                            $id= $value.id
                            Try
                            {
                                $team = Invoke-RestMethod -Headers @{Authorization = "Bearer $accesstoken"} -Uri https://graph.microsoft.com/beta/Groups/$id/channels -Method Get
                                
                            }
                            Catch
                            {
                               
                            }                 
                
                            $Owner = Invoke-RestMethod -Headers @{Authorization = "Bearer $accesstoken"} -Uri https://graph.microsoft.com/v1.0/Groups/$id/owners -Method Get
                            $Members = Invoke-RestMethod -Headers @{Authorization = "Bearer $accesstoken"} -Uri https://graph.microsoft.com/v1.0/Groups/$id/Members -Method Get
                            $Teams = "" | Select "TeamsName","TeamType","Channelcount","ChannelName","Owners","MembersCount","Members"
                            $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 ";"
                            $Teams.MembersCount = $Members.value.userPrincipalName.count
                            $Teams.Members = $Members.value.userPrincipalName -join ";"
                            $TeamsList+= $Teams
                            $teamaccesstype=$null
                            $errorMessage =$null
                            $Teams=$null
                            $team =$null
                            $i++
                    }
                    if ($MTeams.'@odata.nextLink' -eq $null )
                    {
                        break
                    }
                    else
                    {
                        $MTeams = Invoke-RestMethod -Headers @{Authorization = "Bearer $accesstoken"} -Uri $MTeams.'@odata.nextLink' -Method Get
                    }
                }while($true);
                $TeamsList.count
                $TeamsList
                $TeamsList | Export-csv $ExportPath -NoTypeInformation
            }
}
Export-TeamsList -ExportPath "C:\temp\teamswithmembers.csv"
        

Resultado:

Quer aprender tudo sobre administração de Microsoft Teams? Conheça o Treinamento 100% Hand’s On que tornará você capaz de administrar e implementar ambientes de Microsoft Teams aplicando as boas práticas de mercado. Clique aqui.

Este artigo foi útil?

Para manter um padrão de qualidade para vocês, investimos em um ótimo plano de hospedagem, CDN Pago, Plugins de Otimização para o Site, etc…

Ajude-nos a manter o projeto ativo! 

Acompanhe as novidades em tempo real. Siga nosso perfil no Instagram..

Felipe Santos
Felipe Santos é Arquiteto de Cloud e Segurança, com vivência em Administração de Ambientes Windows Server, Cluster, Storages, Backups Veeam e Office 365.
pt_BRPortuguese

ATÉ 90% DE DESCONTO

DECOLE SUA CARREIRA!!

Quer dar um upgrade na sua carreira? 

Invista em você e saia na frente! Conquiste aquele emprego dos sonhos em 2022!