Saltar al contenido
Categoría: Microsoft 365
2020-03-25

Cómo obtener el Inventario completo de TEAMS con Powershell

Seguro que todos los que trabajamos con Office365  nos hemos preguntado alguna vez si cabe la posibilidad de extraer un informe directamente desde la herramienta Teams.

Pues en el post de hoy, os traigo la respuesta a esta pregunta: Sí, es posible extraer un informe de forma directa desde Teams.

Vamos a ver cómo funciona este proceso, pero para empezar, os mostraré cuál es la forma más habitual que tenemos de extraer este tipo de informes:

  • Entramos desde Teams en la parte de Administración de Equipos. En esta consola podemos administrar los Teams que ya existen y crear nuevos Teams. También de forma rápida podemos ver el número de Canales, Miembros de equipo, Propietarios, invitados e información general de Teams.
  • Como habremos comprobado en la consola, para realizar un buen informe hemos tenido que ir equipo por equipo para obtener los datos de los canales y usuarios.
  • Es en esto momento cuando posiblemente nos habremos preguntado si no hay una forma más fácil para realizar este tipo de proceso.

Como he comentado anteriormente, hay una alternativa más sencilla para realizarlo y es a través de PowerShell.

En primer lugar, instalaremos 2 módulos de Teams en nuestro PowerShell:

1. Abrimos PowerShell como Administrador

2. Ejecutamos los siguientes comandos (Cargar Módulos de TEAMS)

# Es necesario instalar este Modulo It's mandatory to install this modules

Install-Module -Name MicrosoftTeams

# Es necesario instalar este Modulo It's mandatory to install this modules

Install-Module -Name PSTeams

Una vez que tenemos los dos módulos instalados pasaremos a ejecutar el siguiente script que nos devolverá la información de todos nuestros equipos.

3.Ejecutamos el Script  “AuditoriaTEAMS.ps1

Connect-MicrosoftTeams
$date = Get-Date -UFormat "%Y%m%dT%H%M%S"
$DesktopUser = $env:USERNAME
$ReturnFile = "C:\Users\"+ $DesktopUser +"\Documents\Return\AuditoriasTEAMS_" + $date +".csv"
$GETTEAMS = Get-Team

$Value = "TEAMS;TipodeTEAMS;NombreCanal;DescripcionCanal;UsuariosTeams;NombredelUsuario;RoldeUsuario"
Add-Content -Path $ReturnFile -Value $Value
#$GETTEAMS
foreach($TEAMS in $GETTEAMS)
{
    #$TEAMS.GroupID
    #$TEAMS.DisplayName
    #$TEAMS.Visibility 

    Write-Host "`n`tLos datos de los grupos de TEAMS son:" 
    Write-Host "`tNombre del Equipo de TEAMS: " -NoNewline -ForegroundColor DarkCyan
    Write-Host  $TEAMS.DisplayName -ForegroundColor Green
    Write-Host "`tEl ObjectId del TEAMS: " -NoNewline -ForegroundColor DarkCyan
    Write-Host $TEAMS.GroupID
    Write-Host "`tEl ptipo de TEAMS: " -NoNewline -ForegroundColor DarkCyan
    Write-Host $TEAMS.Visibility 
    
    If($TEAMS.GroupID -ne $Null)
    {
        $GETCHANNELS = Get-TeamChannel -GroupId $TEAMS.GroupID
        foreach($Channels in $GETCHANNELS)
        {
            Write-Host "`tNombre del Canal: " -NoNewline -ForegroundColor DarkGreen
            Write-Host $Channels.DisplayName -ForegroundColor Green
            Write-Host "`tEl Id del Canal: " -NoNewline -ForegroundColor DarkGreen
            Write-Host $Channels.ID
        
            If($Channels.Description -ne "")
            {
                Write-Host "`tLa descripción del Canal: " -NoNewline -ForegroundColor DarkGreen
                Write-Host $Channels.Description -ForegroundColor Green

            }
            $Value = $TEAMS.DisplayName + ";" + $TEAMS.Visibility + ";" + $Channels.DisplayName + ";" + $Channels.Description 
            Add-Content -Path $ReturnFile -Value $Value
        }
        $GETTEAMUSER = Get-TeamUser -GroupId $TEAMS.GroupID
        foreach($TUsers in $GETTEAMUSER)
        {
            $TUsers.User
            $TUsers.Name
            $TUsers.Role
            $VALUE = ";;;;" + $TUsers.User + ";" + $TUsers.Name + ";" + $TUsers.Role
            Write-Host 
            Add-Content -Path $ReturnFile -Value $Value
        }

    }
    Else
    {
        Write-Host "EL ID esta Vacio" -ForegroundColor Red

    }
    
}

En la ejecución del script deberemos tener en cuenta que va a dejar un fichero de informes. “AuditoriasTEAMS_FechaCreacion.csv” en la ruta “C:\Users\”+ $DesktopUser +”\Documents\Return\AuditoriasTEAMS_” + $date +”.csv” con el resultado que obtiene el script que se detalla a continuación.

TEAMS: Aquí obtendremos el DisplayName del TEAMS

TipodeTEAMS: En esta Columna se obtiene el tipo de TEAMS que es. (Publico o Privado)

NombreCanal: Aquí obtendremos el DisplayName del Canal de TEAMS

DescripcionCanal: Aquí obtendremos la descripción del canal si lo tiene. Es importante que al crear un Canal se ponga la descripción para que se conozca el uso que se le da al CANAL

UsuariosTeams: Aquí tendremos el usuario que tiene acceso a TEAMS

NombredelUsuario: Aquí el Nombre del usuario de TEAMS

RoldeUsuario: Aquí tendremos el Rol de los usuarios en TEAMS, es decir, si son Propietarios del TEAMS, Miembros o Invitados.

Esto es todo por hoy, espero que os sirva de ayuda a la hora de extraer vuestros inventarios.

Si quieres que ayudemos a tu negocio o empresa contacta con nosotros en info@aleson-itc.com o llámanos al +34 962 681 242

Complete este formulario para recibir la guía de Windows Server en Azure
*Obligatorio
Complete este formulario para recibir la guía de Windows Server en Azure
Gracias por rellenar el formulario [name]. ¡Aquí tienes tu eBook Gratis!
Complete este formulario para recibir 4 best practices to implement a comprehensive Zero Trust security approach
*Obligatorio
Complete este formulario para recibir 4 best practices to implement a comprehensive Zero Trust security approach
Gracias por rellenar el formulario [name]. ¡Aquí tienes tu eBook Gratis!
Complete este formulario para recibir Cloud Migration Essentials
*Obligatorio
Complete este formulario para recibir Cloud Migration Essentials
Gracias por rellenar el formulario [name]. ¡Aquí tienes tu eBook Gratis!
Complete este formulario para recibir Cloud security Advice for Nonprofit Leaders
*Obligatorio
Complete este formulario para recibir Cloud security Advice for Nonprofit Leaders
Gracias por rellenar el formulario [name]. ¡Aquí tienes tu eBook Gratis!
Complete este formulario para recibir Prevent data leaks with Microsoft 365 Business Premium
*Obligatorio
Complete este formulario para recibir Prevent data leaks with Microsoft 365 Business Premium
Gracias por rellenar el formulario [name]. ¡Aquí tienes tu eBook Gratis!
Complete this form to recieve the guide of Windows Server on Azure
*Required
Complete this form to recieve the guide of Windows Server on Azure
Thank you for filling out the form [name]. Here's your Free eBook!
Complete this form to recieve 4 best practices to implement a comprehensive Zero Trust security approach
*Required
Complete this form to recieve 4 best practices to implement a comprehensive Zero Trust security approach
Thank you for filling out the form [name]. Here's your Free eBook!
Complete this form to recieve Cloud Migration Essentials
*Required
Complete this form to recieve Cloud Migration Essentials
Thank you for filling out the form [name]. Here's your Free eBook!
Complete this form to recieve Cloud security Advice for Nonprofit Leaders
*Required
Complete este formulario para recibir Cloud security Advice for Nonprofit Leaders
Thank you for filling out the form [name]. Here's your Free eBook!
Complete this form to recieve Prevent data leaks with Microsoft 365 Business Premium
*Obligatorio
Complete this form to recieve Prevent data leaks with Microsoft 365 Business Premium
Thank you for filling out the form [name]. Here's your Free eBook!