Microsoft sigue trabajando en Teams y añadiendo funcionalidades progresivamente. Actualmente ya lo podemos considerar como una plataforma estable y parte importante dentro de Office 365, preparada para migrar a ella las comunicaciones y grupos de trabajo. Hoy vamos a ver cómo podemos gestionar diversas tareas habituales a través, como no, de Powershell.

teams logo

Instalar el módulo de Teams

Teams cuenta con su propio módulo para Powershell que posiblemente no tengamos aún instalado, podemos instalarlo con el cmdlet install-module

Install-module -name MicrosoftTeams

Añadiendo el -scope currentuser en caso que no queramos instalarlo para todos los usuarios o no dispongamos de los permisos para hacerlo. Una vez instalado podemos lanzar el siguiente cmdlet para ver los comandos disponibles, los más importantes de los mismos iremos viendo en más detalle a continuación

Get-Command -Module MicrosoftTeams

Conectar a Teams

Una vez instalado el módulo de Teams, conectaremos con

Connect-MicrosoftTeams

Gestión de Teams con Powershell

Con el siguiente cmdlet obtenemos un listado de todos los Teams en nuestro tenant

Get-Team

Pudiendo filtrar por ejemplo para un determinado DisplayName por ejemplo con

Get-Team | Where-Object {$_.DisplayName -eq “Ejemplo”}

Recordemos que podemos trabajar cualquier Team como un objeto más en Powershell, por ejemplo para obtener la propiedad GroupId que necesitaremos para muchas acciones podríamos ejecutar lo siguiente

$equipo=Get-Team | Where-Object {$_.DisplayName -eq “Ejemplo”}
$idequipo=$equipo.GroupId

Crear nuevo Team

Para crear un nuevo Team simplemente tenemos que especificar un display name como parámetro del cmdlet New-Team

New-Team -DisplayName “Nombre”

Aunque podemos complementarlo con opciones tan necesarias como el parámetro visibility, que indica si un Teams es público o privado

New-Team -DisplayName “Nombre” -Description “Descripcion” -Visibility Private

Editar características del Team

Una vez creado un Team, podemos modificar sus parámetros con el cmdlet Set-Team, en este caso necesitaremos el groupId del mismo y especificaremos el parámetro a cambiar con el nuevo valor, por ejemplo para pasar un Team a público

Set-Team -GroupId 2f162b0e-36d2-4e15-8ba3-ba229cecdccf -Visibility Public

Podemos ver todas las propiedades de un Team, con

Get-Team -GroupId 2f162b0e-36d2-4e15-8ba3-ba229cecdccf | fl

Borrar Team

Para eliminar un equipo, usaremos el cmdlet Remove-Team y como comentaba antes, necesitaremos el GroupId del mismo

Remove-Team -GroupId 31f1ff6c-d48c-4f8a-b2e1-abca7fd399df

Gestión de canales

Dentro de un Teams, podemos tener múltiples canales para dividir el trabajo, todo esto lo podemos gestionar con los cmdlets relacionados con TeamChannel, eso si siempre referenciando el GroupId del Team.

Crear canal en Team

New-TeamChannel -GroupId 2f162b0e-36d2-4e15-8ba3-ba229cecdccf -DisplayName "Nuevo canal"

Modificar canal

De la misma manera que gestionamos las características podemos hacer lo mismo con los canales, aunque en este caso las opciones se reducen al nombre del canal o la descripción

Set-TeamChannel -GroupId 2f162b0e-36d2-4e15-8ba3-ba229cecdccf -CurrentDisplayName "Nuevo canal" -NewDisplayName "Canal 2"

Gestión de usuarios de un Team

Desde PowerShell también vamos a poder gestionar los miembros del equipo, por ejemplo, para listar los miembros de un Team ejecutaremos el comando Get-TeamUser

Get-TeamUser -GroupId 8511ccf1-41f2-41d6-a7dc-5f31d6a8703a

Para añadir o eliminar miembros lo haremos a partir de su email, de manera muy sencilla con Add-TemUser o Remove-TeamUser. En el primero muy importante el parámetro de role, para definir tanto Owners como Members

Add-TeamUser -GroupId 2f162b0e-36d2-4e15-8ba3-ba229cecdccf -User [email protected] -Role Member

Remove-TeamUser -GroupId 2f162b0e-36d2-4e15-8ba3-ba229cecdccf -User [email protected]

Esto es simplemente una explicación breve de los cmdlets a mi entender más útiles, pero podéis ver la referencia completa del resto de ellos en este link. Si soléis utilizar algún otro no dudeis en comentar