Afficher une notification sur Windows 10 avec PowerShell

I. Présentation

Les utilisateurs de Windows 10 sont certainement familiers avec les notifications au sein du système d'exploitation, ces dernières apparaissent sur déclenchement de la part d'une de vos applications, par exemple : vous recevez un e-mail, votre antivirus détecte une infection, votre ordinateur passe en mode économie d'énergie, etc... Sachez qu'il est possible de créer et d'afficher ses propres bulles de notification dans Windows 10 grâce à PowerShell.

Les commandlets pour réaliser cette opération ne sont pas intégrés par défaut, on va s'appuyer une fois de plus sur la communauté PowerShell et plus particulièrement sur le module Burnt Toast, que l'on pourra traduire en français par "Pain grillé". Voilà le lien vers le module : Burnt Toast for PowerShell

L'objectif de ce tutoriel est de vous montrer comment créer une notification, libre à vous ensuite de greffer cette fonctionnalité dans vos scripts pour plus d'interaction avec l'environnement de l'utilisateur.

La version vidéo de ce tutoriel est disponible sur YouTube :

 

II. Installer le module Burnt Toast

On va commencer par installer le module Burnt Toast, simplement à l'aide d'une console PowerShell :

Install-Module BurntToast

L'installation s'effectue rapidement.

Ensuite, on peut en profiter pour lister les cmdlets disponibles :

PS C:\> Get-Command -Module BurntToast

CommandType     Name                                               Version    Source
-----------     ----                                               -------    ------
Function        Get-BTFunctionLevel                                0.5.1      BurntToast
Function        New-BTAppId                                        0.5.1      BurntToast
Function        New-BurntToastNotification                         0.5.1      BurntToast
Function        Set-BTFunctionLevel                                0.5.1      BurntToast

Il est à noter que par défaut le module se charge en mode Basic avec un nombre limité de cmdlets, il est possible de passer sur le mode Advanced pour accéder aux fonctions spécifiques de customisation des notifications. Il faudra utiliser la commande suivante et rouvrir sa console PowerShell :

Set-BTFunctionLevel Advanced

Il y aura plus de cmdlets :

CommandType     Name                                               Version    Source
-----------     ----                                               -------    ------
Function        Get-BTFunctionLevel                                0.5.1      BurntToast
Function        New-BTAction                                       0.5.1      BurntToast
Function        New-BTAppId                                        0.5.1      BurntToast
Function        New-BTAudio                                        0.5.1      BurntToast
Function        New-BTBinding                                      0.5.1      BurntToast
Function        New-BTButton                                       0.5.1      BurntToast
Function        New-BTContent                                      0.5.1      BurntToast
Function        New-BTContextMenuItem                              0.5.1      BurntToast
Function        New-BTImage                                        0.5.1      BurntToast
Function        New-BTInput                                        0.5.1      BurntToast
Function        New-BTSelectionBoxItem                             0.5.1      BurntToast
Function        New-BTText                                         0.5.1      BurntToast
Function        New-BTVisual                                       0.5.1      BurntToast
Function        New-BurntToastNotification                         0.5.1      BurntToast
Function        Set-BTFunctionLevel                                0.5.1      BurntToast
Function        Submit-BTNotification                              0.5.1      BurntToast

 

III. New-BurntToastNotification

Avant de créer une notification avec le cmdlet New-BurntToastNotification, on va effectuer une légère configuration pour déclarer notre "application" qui sera notre pseudo-source qui déclenche l'événement. Sinon vous obtiendrez ce message à chaque création d'une notification :

AVERTISSEMENT : The AppId BurntToast is not present in the registry, please run New-BTAppId to avoid inconsistent Toast behaviour.

Pour créer une nouvelle app, on va utiliser la commande suivante :

New-BTAppId -AppId "IT-Connect"

 

Voici ensuite comment créer une notification, sans paramètre vous aurez une notification par défaut :

New-BurntToastNotification

Ce qui n'est pas très intéressant, mais qui permet de vérifier le bon fonctionnement du module. Pour créer une notification personnalisée :

New-BurntToastNotification -AppId "IT-Connect" -AppLogo "C:\temp\logo.png" -Text "PowerShell Notification" , "This module is very cool ! :-)"

Ci-dessous un schéma réalisé par mes soins pour vous aider à comprendre l'utilité de chaque paramètre, puisque vous pourrez faire le lien entre chaque paramètre et son impact sur l'affichage de la notification :

Dans l'exemple ci-dessus, il y a un paramètre nommé "Sound" qui permet de jouer un son au moment de la notification et que je n'avais pas évoqué. Par défaut, il accepte différentes valeurs correspondantes à des sons prédéfinis. Voyez par vous-même :

Il est à noter que les différentes notifications déclenchées seront visibles directement dans le centre de notifications de Windows 10, comme ceci :

Ce module très simple d'utilisation comme l'on vient de le voir, peut s'avérer très utile pour interagir avec l'environnement utilisateur. Un exemple intéressant que j'ai vu et l'utilisation de ce système de notifications pour suivre les déploiements d'images avec MDT/WDS, je vous oriente vers l'article paru sur SystAndDeploy : MDT et les notifications

Et vous, comment allez-vous exploiter ce module ?

Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Partager sur Google+ Envoyer par mail

Florian Burnel

Co-Fondateur d'IT-Connect, je souhaite partager mes connaissances et expériences avec vous, et comme la veille techno' est importante je partage aussi des actus.

florian a publié 1584 articles sur IT-Connect.See all posts by florian

7 réactions sur “Afficher une notification sur Windows 10 avec PowerShell

  • 09/03/2017 à 12:05
    Permalink

    Bonjour,

    Ca a l’air sympa pour passer des messages aux utilisateurs !

    Par contre, avant de déployer ça à grande échelle, est-ce que l’on sait ce que ça installe ? Est-ce clean…?

    Merci pour l’article en tout cas !

    Répondre
    • 09/03/2017 à 13:17
      Permalink

      Bonjour Jeff,

      Je pense que c’est clean, ça installe les fichiers PowerShell du module ainsi qu’une DLL nommée « Microsoft.Toolkit.Uwp.Notifications.dll » et issue d’un projet .NET disponible aussi sur GitHub : https://github.com/Microsoft/UWPCommunityToolkit

      Si tu décides d’utiliser ce module, n’hésite pas à partager avec nous ce que tu as fait, si tu le souhaites 🙂

      Florian

      Répondre
  • 10/03/2017 à 09:07
    Permalink

    Bonjour,

    Article de qualité et bien utile!
    Un grand merci :p

    Répondre
  • 03/05/2017 à 21:36
    Permalink

    Bonjour,
    Tout d’abord tuto bien détaillé 😉
    Mais petite question,
    ecce que cela fonctionne sur Windows 10 pro pour faire le test, car perso j’ai plein de message d’erreur coté powershell(exécuté en admin bien sur).
    Ou faut-il un Os serveur.(à l’heure où j’écris le poste je n’en est pas sous la main)
    Merci d’avance.

    Répondre
    • 03/05/2017 à 22:44
      Permalink

      Bonsoir,

      Oui ça fonctionne sous Windows 10, d’ailleurs pour le tuto je l’ai fait depuis mon PC sous Windows 10. Quel est le message d’erreur PowerShell ? Le module est bien importé ?

      Bonne soirée
      Florian

      Répondre

Laisser un commentaire

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