15/11/2024

Microsoft TeamsPowerShell

Teams : comment identifier les équipes vides ?

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 ?

author avatar
Florian BURNEL Co-founder of IT-Connect
Ingénieur système et réseau, cofondateur d'IT-Connect et Microsoft MVP "Cloud and Datacenter Management". Je souhaite partager mon expérience et mes découvertes au travers de mes articles. Généraliste avec une attirance particulière pour les solutions Microsoft et le scripting. Bonne lecture.
Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Envoyer par mail

2 commentaires sur “Teams : comment identifier les équipes vides ?

  • Bonjour, j’aurais souhaité savoir d’où part la manipulation ?
    Doit-on faire la manipulation depuis chaque poste ? Ou le poste contenant la session propriétaire ?
    Merci de bien vouloir me clarifier cela.
    Merci pour votre travail.
    Cordialement.

    Répondre
    • Bonjour Valentin,
      Avec un compte qui est administrateur général du tenant, cela permettra d’avoir la visu sur l’ensemble des équipes Teams. Est-ce que cela répond à la question ?
      Cordialement,
      Florian

      Répondre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.