Objectif :
Je souhaitais générer ce type de liste :
Premier essai, avec Power Automate
Je me suis lancé dans la mise en oeuvre de la génération d'un excel avec Power Automate, cela ressemblait à cela :
|
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
~/powershell/pwsh
$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