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.
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