Microsoft Teams : Obtener un listado de todos los Teams existentes y sus miembros en un archivo CSV.

Ahora que tenemos disponibles comandos powershell  especificamente para Microsoft Teams, es mas sencillo realizar tareas como exportar todos los Teams en nuestro tenant.

Para esto, nos conectamos con nuestro Powershell a una sesión de Teams con este sencillo metodo ya revisado en una entrada anterior.

Ejecutado el script de conexión indicado en la entrada anterior, ingresamos nuestros datos, seleccionamos el servicio y conectamos,

Una vez conectado, podremos ver todos los comandos disponibles en el modulo de Teams con el comando  Get-Command -Module MicrosoftTeams

Para nuestra tarea , usaremos el comando Get-Team, el que nos entregara el listado de Teams creados en el tenant.

Una vez que tenemos el GroupId, podemos ver el detalle del Team, ejecutando Get-Team -GroupId “IdDelTeam” | fl

Para visualizar los usuarios dentro de un team, tomamos notas del GroupId y ejecutamos el comando Get-Team -GroupId “IddelTeam” | Get-TeamUser

y para exportar el resultado ejecuatamos Get-Team -GroupId “IddelTeam” | Get-TeamUser | Export-Csv -Path C:\PsScript\SalesAndMarketingTeamUsers.csv -Encoding UTF8 -NoTypeInformation

Y como resultado tendremos un archivo CSV con los datos de nuestro Team exportado.

 

Saludos
Samuel. 🙂

12 Comments

  1. Hola Samuel, muy buen blog, sabes no he podido lograr conectarme a vía powershell a Teams para poder generar este informe que justamente necesito, leí varios post buscando el como conectarme porque no he podido, ejecute los siguientes comandos

    Me conecte a mi cuenta primero
    $cred=Get-Credential

    Luego instale el modulo de microsfot teams para powershell
    Install-module -name MicrosoftTeams

    Después importe el modulo
    Import-Module MicrosoftTeams

    Luego, me conecte a teams
    Connect-MicrosoftTeams -Credential $cred

    Me dio el siguiente error

    Connect-MicrosoftTeams : El término ‘Connect-MicrosoftTeams’ no se reconoce como nombre de un cmdlet, función, archivo
    de script o programa ejecutable. Compruebe si escribió correctamente el nombre o, si incluyó una ruta de acceso,
    compruebe que dicha ruta es correcta e inténtelo de nuevo. En línea: 1 Carácter: 1 + Connect-MicrosoftTeams -Credential $cred + ~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : ObjectNotFound: (Connect-MicrosoftTeams:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException

    Consulte en las paginas oficiales de Microsoft, segui otros pasos y lo mismo no se que me esta faltando por hacer… si me puedes dar un par de link donde revisar se agradecería.
    Saludos
    Claudio Aliste

  2. Hola, Samuel. Me he encontrado con tu Blog el día de hoy y creo que me será de mucha ayuda, ya que soy nuevo en Teams y he empezado a dar clases en forma remota.
    Me gustaría que me ayudaras a obtener la lista o el registro de quién se conectó a la reunion en Temas el día de hoy, en mi clase de Simulación, porque se me olvidó descargarla. Y en el historial de sesiones solo me muestra el número de alumnos, pero no me da una opción para descargar la lista.
    Espero me haya explicado. 🙂

    Gracias de antemano, saludos, Samuel.

  3. Hola Jesús,
    Se podría sacar un listado de todos los equipos TEams con sus integrantes con un solo comando, o habría que ir de uno en uno ejecutando el comando para cada grupo de Teams existente.
    Gracias

      1. Me devuelve lo siguiente al ejecutar el script.
        PS C:\WINDOWS\system32> Export-TeamsList -ExportPath “C:\teamslist.csv”
        Connect-PnPMicrosoftGraph : El término ‘Connect-PnPMicrosoftGraph’ no se reconoce como nombre de un cmdlet, función,
        archivo de script o programa ejecutable. Compruebe si escribió correctamente el nombre o, si incluyó una ruta de
        acceso, compruebe que dicha ruta es correcta e inténtelo de nuevo.
        En línea: 7 Carácter: 9
        + Connect-PnPMicrosoftGraph -Scopes “Group.Read.All”,”User.Read …
        + ~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo : ObjectNotFound: (Connect-PnPMicrosoftGraph:String) [], CommandNotFoundException
        + FullyQualifiedErrorId : CommandNotFoundException

        ADVERTENCIA: El comando ‘Get-PnPAccessToken’ está obsoleto. Use Get-PnPGraphAccessToken instead
        Get-PnPAccessToken : There is currently no connection yet. Use Connect-PnPOnline to connect.
        En línea: 8 Carácter: 23
        + $accesstoken =Get-PnPAccessToken
        + ~~~~~~~~~~~~~~~~~~
        + CategoryInfo : NotSpecified: (:) [Get-PnPAccessToken], InvalidOperationException
        + FullyQualifiedErrorId : System.InvalidOperationException,PnP.PowerShell.Commands.Base.GetPnPAccessToken

        Invoke-RestMethod : {
        “error”: {
        “code”: “InvalidAuthenticationToken”,
        “message”: “CompactToken parsing failed with error code: 80049217”,
        “innerError”: {
        “date”: “2020-10-29T15:31:07”,
        “request-id”: “4393782a-9b4e-4425-a0ec-2073d8b7e156”,
        “client-request-id”: “4393782a-9b4e-4425-a0ec-2073d8b7e156”
        }
        }
        }
        En línea: 9 Carácter: 18
        + … $group = Invoke-RestMethod -Headers @{Authorization = “Bearer $acc …
        + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-RestMethod], WebExc
        eption
        + FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeRestMethodCommand

        Podrías ayudarme?
        Saludos-!!!

        1. Hola, debes instalar el modulo de SharePoint Pnp.

          Con una ventana de PowerShell como administrador, ejecuta Install-Module SharePointPnPPowerShellOnline y el luego ejecuta el script nuevamente.

  4. Felicidades Samuel, por tu blog, se el esfuerzo que se invierte para tener este tipo de recursos y se que nace de la idea de ayudar.

Leave a Reply to Roger Cancel reply