Teams : comment identifier les équipes vides ?
Sommaire
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 ?
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.
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