Envoyer facilement une notification sur Teams avec PowerShell

Partager

Introduction

En tant qu’admin système nous adorons avoir des notifications surtout quand il y’a beaucoup d’automatisation dans nos procédures, avant il y’avait les mails, maintenant il y’a les applications de communication collaboratives, tel que Slack ou Teams pour les deux leaders. Dans cet article je l’ai fait avec Teams, mais il est aussi possible de le faire avec Slack, cela viendra dans un prochain article.

Créer un canal dans Teams

  1. Se connecter à Teams via l’application ou la version Web.
  2. Dans son équipe, cliquer sur le menu « … » et sélectionner « Ajouter un canal »

3. Donner un nom à votre canal et une description, si besoin configurer la confidentialité et cliquer sur Ajouter

4. Cliquer sur le menu « … » et sélectionner « Connecteurs »

5. Sélectionner Webhook entrant et cliquer sur Ajouter

6. Cliquer sur ajouter

7. Entrer un nom pour ce Webhook et changer l’icône si vous désirez l’identifier, puis cliquer sur Créer

8. Après 1-2 secondes une URL apparaît, cette URL sera utilisée par notre script pour envoyer les messages à Teams

9. Valider par OK, puis fermer la popup, nous avons finis de configurer la partie Teams

Le script Send-ToTeams.ps1

Ce script est simplement un exemple, dans l’entreprise où je travaille j’ai adapté ce script afin de remonter d’autres informations en fonctions des variables de séquences de tâches dont j’avais besoin, mais il peut très bien être utilisé de façon autonome sans ConfigMgr.

Téléchargement depuis GitHub

Configuration de base

  1. Il faut entrer l’URL du Webhook entrant de l’étape 8 de la partie Teams
  2. Entrer l’URL d’un logo
  3. Si vous désirer utiliser des variables de séquence de tâche de SCCM, il faudra dé-commenter le code se trouvant dans le rectangle bleu, toutes les variables peuvent-être utilisée, y compris vos personnalisées, il faudra juste veiller à les appeler par leurs bons noms 😉
  4. Possible d’ajouter d’autres informations, récupérer via WMI, Registre ou autres commandes PowerShell
  5. Pour les points 3 et 4 libres à vous d’en ajouter ou supprimer ce script est simplement un exemple fonctionnel de ce qu’il est possible de faire

Fonction Send-ToTeams

La fonction Send-ToTeams est appelée à la fin de chaque création de message, il envoie à l’URI ($uri) de Teams, le JSON qui a été généré pour le message ($body)

Création d’un message

Status réussi

Si mon paramètre -Status est à 1, je génère le message suivant, pour les caractères spéciaux, ne pas oublier de les encoder en HTML

Exécution du script

PowerShell.exe -ExecutionPolicy Bypass -File .\Send-ToTeams.ps1 -Status 1

Résultat

Status réussi

Si mon paramètre -Status est à 0, je génère le message suivant, pour les caractères spéciaux, ne pas oublier de les encoder en HTML

Exécution du script

PowerShell.exe -ExecutionPolicy Bypass -File .\Send-ToTeams.ps1 -Status 0

Résultat

Documentation Teams

Envoyer un message aux connecteurs et Webhook: https://docs.microsoft.com/microsoftteams/platform/webhooks-and-connectors/how-to/connectors-using


Partager

Steven Bart

Fondateur de StevenBart.com - Suisse. Je suis dans l'informatique depuis 2001, je travaille en tant qu'architecte poste de travail et m'occupe principalement de l'administration de MEMCM (SCCM), du déploiement en masse de postes de travail et d'applications. En savoir plus sur moi.