15/11/2024

Logiciels

Avec SelfX, permettez aux utilisateurs de résoudre eux-mêmes les problèmes simples

I. Présentation

Dans ce tutoriel, nous allons découvrir l'outil gratuit SelfX qui a pour objectif de redonner le pouvoir à vos utilisateurs en leur permettant de résolution eux-mêmes certains problèmes simples et fréquents. Développé par Damien Van Robaeys, un collègue Microsoft MVP, cet outil s'appuie sur le langage PowerShell et il est totalement personnalisable.

Grâce à SelfX, vous pouvez espérer réduire la charge de travail de votre support informatique en permettant aux utilisateurs d'être autonomes dans la résolution de certains problèmes basiques. La résolution de certains problèmes est simple et évidente pour le technicien informatique, mais pas pour l'utilisateur final, qui n'est pas forcément à l'aise avec les menus du système d'exploitation (ce qui est compréhensible...). Mais, si on met à disposition de l'utilisateur une interface simplifiée grâce à laquelle il peut résoudre un problème en deux clics, cela change la donne ! Voici l'interface de SelfX :

Windows - Interface de SelfX

Alors, je vous rassure tout de suite :

  • L'interface de SelfX est en anglais par défaut mais on peut utiliser la langue de son choix
  • L'outil est livré avec une liste de problèmes courants qu'il peut tenter de résoudre, mais c'est évolutif : vous pouvez ajouter vos propres entrées, ou en retirer certaines
  • SelfX n'a pas besoin de droits "admin" car il exécute les actions de remédiation avec les droits de l'utilisateur

Dans le cas où l'utilisateur ne parvient pas à résoudre le problème après avoir essayé la solution proposé par SelfX, il peut toujours contacter le service informatique ou ouvrir un ticket. De son côté, le service informatique peut aussi s'appuyer sur SelfX pour exécuter certaines actions et gagner un peu de temps lors de la phase d'assistance.

Le projet SelfX est disponible sur GitHub :

II. Installer SelfX

Après avoir téléchargé SelfX sur GitHub, vous obtenez un script d'installation, un script de désinstallation et un répertoire "Sources" avec les fichiers de SelfX. L'installation s'effectue simplement en exécutant le script PowerShell d'installation :

.\Install_tool.ps1

L'installation s'effectue dans le profil Windows de l'utilisateur au sein de "AppData/Local/SelfX" (qui contiendra les données du répertoire "Sources").

Suite à l'installation, un raccourci apparaît sur le Bureau.

Windows - Raccourci SelfX

Pour déployer SelfX sur un ensemble de machines, vous pouvez utiliser plusieurs solutions : Intune, MECM ou une stratégie de groupe (GPO).

III. Configurer SelfX

A. Personnaliser la langue, les contacts, l'interface

Pour sa configuration, SelfX s'appuie sur plusieurs fichiers XML entièrement personnalisable :

  • Issues_List.xml : la liste des problèmes visibles dans l'interface de l'application
  • Tool_Config.xml : les icônes, couleurs, titres et textes de l'application, et la possibilité de ne pas créer de raccourci Bureau ou dans le menu Démarrer
  • List_config.xml : le mode de téléchargement de la liste des problèmes (voir plus loin dans l'article)

En fait, vous n'avez pas besoin de modifier le script PowerShell principal.

Le premier point de configuration que l'on va aborder, c'est le changement de la langue. Il n'existe pas d'options pour passer d'une langue à une autre, mais si vous modifiez le fichier XML, vous pouvez changer tout le texte de l'interface : il suffit d'écrire des valeurs en français plutôt qu'en français.

Si l'on prend l'exemple de l'option "Main_Title_Text", elle correspond au titre principal de l'application. Il suffit de modifier la valeur de cette option dans le fichier "Tool_Config.xml" pour que ce soit modifié sur l'interface de l'application. On sauvegarde, on relance SelfX et le tour est joué !

Windows - SelfX - Modifier le texte

Ce qui donne :

SelfX en français

Par ailleurs, l'interface de SelfX intègre un bouton en forme de téléphone qui permet à l'utilisateur d'accéder aux informations du support informatique : numéro de téléphone et e-mail.

Windows - SelfX - Infos support 1

Ces deux valeurs sont personnalisables dans le fichier "Tool_Config.xml" comme le montre l'exemple ci-dessous.

Windows - SelfX - Infos support tel e-mail

Au-delà des fichiers de configuration au format XML, SelfX s'appuie sur un répertoire indispensable à son fonctionnement :

  • Scripts_to_run

Ce répertoire contient l'ensemble des scripts PowerShell utilisés par les problèmes déclarés dans le fichier Issues_List.xml. Vous pouvez éditer les scripts existants et ajouter vos propres scripts PowerShell. En fait pour ajouter un nouveau problème à la liste SelfX, il faut le déclarer dans le fichier "Issues_List.xml" et ajouter le script PowerShell correspondant au sein du répertoire "Scripts_to_run".

Voici la liste par défaut :

Windows - Scripts de SelfX

B. Centraliser les scripts de dépannage

Par défaut, SelfX est livré avec une configuration qui intègre une liste de problèmes prédéfinie, associée à un ensemble de scripts. Pour que ce soit facilement évolutif et plus flexible, vous pouvez stocker cette liste et les scripts PowerShell sur un serveur Web et SelfX viendra chercher les fichiers via un téléchargement en HTTP/HTTPS. De cette façon, la liste des problèmes et actions possibles dans SelfX peut évoluer simplement en mettant à jour le contenu de ce dépôt.

Si vous utilisez Azure, vous pouvez créer un nouveau conteneur dans un "Compte de stockage". Dans l'exemple ci-dessous, mon conteneur se nomme "selfx" et il est réservé au dépôt des fichiers SelfX, en mode publique (à condition d'avoir l'URL).

SelfX - Azure Blob - 1

Dans ce conteneur, il y a deux fichiers à charger :

  • Le fichier Issues_List.xml avec la liste des problèmes (ce qui va s'afficher dans l'interface de SelfX)
  • Le fichier Scripts_to_run.zip qui contient un dossier du même nom avec tous les scripts PowerShell (utilisés par les problèmes déclarés dans Issues_List.xml)

Ce que j'ai fait sur mon conteneur, comme l'image ci-dessous.

SelfX - Azure Blob - 2

Ensuite, en accédant au détail de chaque fichier, on peut récupérer l'URL d'accès au fichier ce qui permet de le télécharger.

SelfX - Azure Blob - 3

Lors de l'installation de SelfX, on peut le configurer pour qu'il récupère les fichiers depuis notre serveur. Pour cela, il faut utiliser les paramètres "-XML_Link" et "-ZIP_Link" comme dans l'exemple ci-dessous :

.\Install_tool.ps1 -XML_Link "https://partageazurefiles.blob.core.windows.net/selfx/Issues_List.xml" -ZIP_Link "https://partageazurefiles.blob.core.windows.net/selfx/Scripts_to_run.zip"

A chaque fois que l'outil est utilisé, il vérifiera s'il est nécessaire de mettre à jour la liste des "issues". Ce qui signifie que les données sont stockées en local : elles ne sont pas lues en direct depuis l'espace de stockage distant, mais il y a une synchronisation (dans un sens) en local. Les URLs définies sont configurables dans le fichier "List_config.xml" qui est passé en mode "Download" au lieu du mode "Manual" par défaut :

SelfX - Exemple - List_config

IV. L'utilisation de SelfX côté utilisateur

Assez parlé de la configuration et la personnalisation ! Côté utilisateur, ça donne quoi à l'usage ? A partir de sa session, l'utilisateur peut lancer SelfX et accéder à la liste des problèmes pour lesquels il y a une solution "cliquable". Pour rechercher un problème, l'utilisateur peut utiliser la zone de recherche ou filtrer par catégorie comme "Device" sur l'exemple ci-dessous.

Lorsqu'il a identifié le problème correspondant à ce qu'il rencontre, il ne lui reste plus qu'à cliquer sur le bouton "lecture". Une fenêtre apparaît pour lui indiquer ce qui va être réalisé, il ne reste plus qu'à cliquer sur "Ok" pour valider : l'action sera déclenchée. Et là, miracle, il a résolu lui-même son problème sans solliciter le support informatique ! Bon, c'est ce que l'on espère.

Ce qui est visible sur les copies d'écran ci-dessus est totalement personnalisable, notamment si vous souhaitez passer le texte en français ou apporter des précisions. Tout se joue dans le fichier "Issues_List.xml" où l'on retrouve le nom du problème, sa description, le nom du script à exécuter, etc.

Windows - SelfX - Exemple 3

L'utilisation de SelfX est très simple, et c'est le but : ce qui devrait encourager les utilisateurs à essayer de se débrouiller tout seul ! Peu importe le problème à résoudre, cela se résume à le repérer dans la liste, à cliquer sur le bouton lecture et à valider !

V. Conclusion

SelfX est un outil entièrement personnalisable, basé sur des scripts PowerShell, que vous pouvez essayer de déployer si vous recherchez un moyen de réduire le nombre de tickets de support et/ou de ne plus être sollicité pour certains problèmes basiques et récurrents.

Vous pouvez commenter cet article pour donner votre avis ou pourquoi pas suggérer de nouvelles fonctionnalités ! Pour ma part, j'ai indiqué à Damien que ce serait intéressant de pouvoir télécharger les fichiers "Issues_List.xml" et "Scripts_to_run.zip" à partir d'un partage SMB, à la place du HTTP/HTTPS.

Au-delà de la version standard présentée dans cet article, la version "SelfX Admin" disponible sur le même dépôt GitHub permet d'exécuter des actions avec les droits SYSTEM.

author avatar
Florian BURNEL Co-founder of IT-Connect
Ingénieur système et réseau, cofondateur d'IT-Connect et Microsoft MVP "Cloud and Datacenter Management". Je souhaite partager mon expérience et mes découvertes au travers de mes articles. Généraliste avec une attirance particulière pour les solutions Microsoft et le scripting. Bonne lecture.
Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Envoyer par mail

3 commentaires sur “Avec SelfX, permettez aux utilisateurs de résoudre eux-mêmes les problèmes simples

  • Avoir un accès à la création de ticket après avoir essayé de le résoudre soi-même.

    Répondre
  • Hello, j’ai voulu testé mais j’ai un code d’erreur, (pourtant j’ai bien lancé l’install en admin) aurait tu une idée ?
    Merci d’avance.

    Hive: HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Notifications\Settings

    Name Property
    —- ——–
    Syst and Deploy informs you

    ShowInActionCenter : 1
    PSPath : Microsoft.PowerShell.Core\Registry::HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Notifications\Settings\Syst and Deploy informs you
    PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Notifications\Settings
    PSChildName : Syst and Deploy informs you
    PSDrive : HKCU
    PSProvider : Microsoft.PowerShell.Core\Registry

    Exception lors de l’appel de « Show » avec « 1 » argument(s) : « Accès refusé. (Exception de HRESULT : 0x80070005 (E_ACCESSDENIED)) »
    Au caractère C:\Users\xxxxxx\Downloads\SelfX-main\SelfX Standard\Install_tool.ps1:188 : 2
    + [Windows.UI.Notifications.ToastNotificationManager]::CreateToastN …
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId : UnauthorizedAccessException

    Répondre
  • Ca fait longtemps que je voulais développer un outil comme celui là pour les utilisateurs et les petits bobos, là ça me mâche le travail, je plussoie 😀

    Répondre

Laisser un commentaire

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

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.