Générer une liste des équipes Teams, leurs canaux, les propriétaires, membres ... avec Power Automate ou PowerShell

Objectif :

Je souhaitais générer ce type de liste :

excelteams

 Premier essai, avec Power Automate

pa

Je me suis lancé dans la mise en oeuvre de la génération d'un excel avec Power Automate, cela ressemblait à cela :

 pa2

Pour établir la liste, cela peut suffire mais à l'heure où j'écris ce tuto, Power Automate ne sait pas encore extraire les membres, les propriétaires ni savoir si le canal ou l'équipe sont privés. Cela ne me convient donc pas, j'ai cherché une autre solution.

Second essai, utiliser PowerShell

Revenir aux outils puissants en ligne de commande est souvent le réflexe des informaticiens, et je n'ai pas été déçu avec le module MicrosoftTeams pour PowerShell.

Utilisant Jeedom, j'ai cherché à tester PowerShell adapté à Raspbian. Cela pour l'installer sur un Raspi3B+ qui héberge déja Jeedom.

J'ai deux Jeedoms, un en prod et un en dev, un sous Stretch et un sous Buster. Dans les docs de Microsoft, il est spécifié d'utiliser Stretch, chez moi, cela fonctionne sur les deux (pour ce que j'ai testé).

Installation de PowerShell Core

La dernière version de powershell peut être trouvée sur https://github.com/PowerShell/PowerShell, 7.0.1-linux-arm32 pour Raspbian au jour de rédaction de ce tuto.

Ajout : Se mettre en root (avec sudo su -) si on veut installer en tant que root, j'ai du faire cela pour pouvoir écrire dans certains dossiers de mon Jeedom pour exploiter l'export ensuite. Sinon, procéder ainsi (avec le login pi):

sudo apt-get install '^libssl1.0.[0-9]$' libunwind8 -y
wget https://github.com/PowerShell/PowerShell/releases/download/v7.0.1/powershell-7.0.1-linux-arm32.tar.gz
mkdir ~/powershell
tar -xvf ./powershell-7.0.1-linux-arm32.tar.gz -C ~/powershell
sudo ~/powershell/pwsh -c New-Item -ItemType SymbolicLink -Path "/usr/bin/pwsh" -Target "$PSHOME/pwsh" -Force

Pour lancer PowerShell
~/powershell/pwsh
 
Pour vérifier la version
$psversiontable
 

Dans PowerShell, installer Module MicrosoftTeams

Ici, j'installe la version 1.0.22 qui est une préversion car la version stable à ce jour est la 1.0.6 et elle ne prend pas en compte les canaux privés.

PS /home/pi> Register-PSRepository –Name '_TempTestRepo' –SourceLocation 'https://www.poshtestgallery.com'

PS /home/pi> Install-Module MicrosoftTeams –RequiredVersion 1.0.22

PS /home/pi> Import-Module MicrosoftTeams

 

Faire les premiers essais en ligne de commande

Pour vérifier la version et la bonne installation de MicrosoftTeams :

PS /home/pi> get-module | ft name, version

 

Faire un essai en récupérant la liste des équipes Teams

PS /home/pi> Connect-MicrosoftTeams

Suivre les instructions en jaune pour s'identifier

PS /home/pi> $AllTeams = Get-Team

PS /home/pi> Write-Output $AllTeams

La liste des équipes doivent s'afficher

Utiliser un script pour enregistrer le login


Imprimer   E-mail