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.3-linux-arm32 pour Raspbian au jour de rédaction de ce tuto.

sudo su -
apt-get install '^libssl1.0.[0-9]$' libunwind8 -y
wget https://github.com/PowerShell/PowerShell/releases/download/v7.0.3/powershell-7.0.3-linux-arm32.tar.gz
mkdir ~/powershell
tar -xvf ./powershell-7.0.3-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

PS /root> Register-PackageSource -Name PoshTestGallery -Location https://www.poshtestgallery.com/api/v2/ -ProviderName PowerShellGet

Install-Module MicrosoftTeams

PS /root> 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

Installer PSFTP

Pour envoyer un fichier généré par Powershell sur un serveur FTP, le plus simple est d’installer PSFTP

PS /root> Install-Module PSFTP

Aide mémoire Powershell

Lancer PowerShell :

~/powershell/pwsh

Vérifier la version

$PSVersionTable

Laisser un commentaire

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