PROJET AUTOBLOG


IT-Connect

Site original : IT-Connect

⇐ retour index

Teams : comment identifier les équipes vides ?

lundi 2 novembre 2020 à 08:00

I. Présentation

Si vous faites le choix de laisser la possibilité aux utilisateurs de créer des équipes Teams sans restriction, il me semble important de prévoir de faire du tri de temps en temps... Cela commence par supprimer les équipes Teams sans membre (ni propriétaire) ou alors avec seulement le propriétaire. Une équipe peut se retrouver sans membre et sans propriétaire si tous les membres restants de cette équipe n'existent plus au niveau du tenant, l'équipe est alors orpheline.

Pour rappel, vous pouvez consulter mon tutoriel sur l'utilisation du module Microsoft Teams de PowerShell : Microsoft Teams - PowerShell

II. Identifier le nombre de membres dans les équipes Teams

Nous allons commencer par établir la connexion à Microsoft Teams, puis nous allons voir comment il est possible de compter le nombre de membres/propriétaires au sein d'une équipe Teams.

La connexion s'effectue grâce à la commande suivante (les credentials seront demandés) :

Connect-MicrosoftTeams

Grâce à la propriété Count sur la commande Get-TeamUser, nous allons pouvoir obtenir le nombre de membres/propriétaires d'une équipe Teams spécifique.

(Get-TeamUser -GroupId <ID de l'équipe>).Count

Donc, pour obtenir cette information pour l'ensemble des équipes, il suffira de s'appuyer sur Get-Team (obtenir la liste des équipes) et d'utiliser une boucle Foreach :

Get-Team | Foreach{
    Write-Output "$($_.DisplayName) : $((Get-TeamUser -GroupId $_.GroupId).Count)"
}

Ceci va retourner un résultat sous cette forme :

Equipe1 : 4
Equipe2 : 6
Equipe-Informatique : 8

III. Identifier et supprimer les équipes vides

Il ne reste plus qu'à reprendre le principe de la commande précédente et d'ajouter une structure conditionnelle if pour agir si Count renvoie une valeur égale ou inférieure à 1. En complément, on ajoutera la commande Remove-Team à l'intérieur de la boucle pour supprimer les équipes concernées. Ce qui nous donne :

Get-Team | Foreach{

   if((Get-TeamUser -GroupId $_.GroupId).Count -le 1){
      Write-Output "$($_.DisplayName) : cette équipe est inactive !"
      Remove-Team -GroupId $_.GroupId -Verbose
   }
}

Le  bout de code ci-dessous peut être modifié selon vos besoins. Sachez qu'une équipe Teams peut être restaurée pendant 30 jours : comment restaurer une équipe Teams ?

The post Teams : comment identifier les équipes vides ? first appeared on IT-Connect.