
Le Non-Sucking Service Manager est un assistant de service qui installe des programmes et des scripts personnalisés en tant que services, leur permettant de s’exécuter de manière persistante en arrière-plan. Sa dernière version stable a été horodatée le 31 août 2014, mais elle continue d’être un outil indispensable en matière de développement professionnel et d’informatique.
Il est également utilisé pour bien plus que l’installation de services. NSSM peut également arrêter, retarder, redémarrer et même désinstaller des services. Il propose également des choix de configuration à toutes les étapes de l’exécution du service, me permettant de choisir ce qui se passe au lancement et à la fermeture du service.
J’avais effectivement utilisé NSSM dans un de mes articles précédents, mais à l’époque, je n’avais pas eu le temps de m’y plonger. Et honnêtement, je ne pensais pas qu’un outil sorti dès 2007 serait encore utile aujourd’hui. Mais s’il y a quelque chose qu’Internet a appris, c’est que les anciennes commandes Windows peuvent toujours être utiles.
Services vs processus, en quoi sont-ils différents ?
Sous Windows, chaque service est un processus, mais tous les processus ne sont pas des services
Mais pourquoi installer des choses en tant que services, et en quoi sont-elles différentes des processus ? La réponse la plus simple est que le processus est n’importe quelle instance d’un programme exécuté sous Windows. Chaque session de navigateur (y compris ses onglets), Steam et Teams ont tous leurs propres processus (ou plusieurs processus, appelés arborescences de processus). La plus grande différence entre un processus et un service est qu’un processus peut ou non interagir directement avec l’utilisateur, alors que les services s’exécutent strictement en arrière-plan. En outre, Windows gère les services à l’aide d’un système dédié appelé Windows Service Control Manager (SCM), qui regroupe souvent plusieurs services en un seul processus dans le Gestionnaire des tâches.
Pourquoi ne pas simplement utiliser le Planificateur de tâches Windows ?
L’installation d’un processus en tant que service offre une meilleure disponibilité
Si NSSM n’est qu’un autre moyen de lancer et d’exécuter automatiquement des services, pourquoi ne pas simplement utiliser le Planificateur de tâches Windows, qui remplit apparemment la même fonction ? En effet, même si la capacité du Planificateur de tâches exécute des tâches lors d’événements ou de calendriers spécifiques, elle n’a pas la permanence que les services ont.
Contrairement au Planificateur de tâches, NSSM installe des services qui s’intègrent au SCM pour exécuter en continu les services en arrière-plan avant la connexion, après la déconnexion et redémarrer automatiquement en cas de panne. Les services peuvent également s’appliquer à tous les utilisateurs, tandis que le Planificateur de tâches ne fonctionne que par utilisateur car il nécessite une connexion. L’aspect le plus puissant de NSSM, cependant, est sa capacité à permettre aux utilisateurs d’installer des scripts et des outils personnalisés en tant que services. L’essentiel est que si un processus doit démarrer une fois et s’exécuter en continu (comme un serveur local ou un moniteur de fichiers), il est préférable de l’installer en tant que service. Si vous n’avez besoin de l’exécuter qu’une seule fois et de le quitter par utilisateur, le Planificateur de tâches est un meilleur choix.
À quoi ressemble la configuration ?
C’est bien plus facile que vous ne le pensez

NSSM ne nécessite aucune installation ; il suffit de naviguer ou de saisir son chemin de fichier dans l’invite de commande Windows pour appeler ses commandes (pour rendre son accès global dans mon compte, je l’ai ajouté en tant que variable d’environnement, afin de pouvoir l’appeler de n’importe où). Bien qu’il puisse être entièrement géré via l’invite de commande Windows, je préfère utiliser son interface graphique, qui peut être invoquée à l’aide de la commande « nssm install ». Aussi archaïque que soit l’interface, ses onglets, ses options et ses zones de texte la rendent moins intimidante.
Lorsque j’ai configuré mon serveur Windows RustDesk à l’aide de mes clients, j’ai utilisé NSSM pour configurer les serveurs de réception et d’envoi. En définissant l’argument « service_auto_start », le serveur RustDesk peut toujours s’exécuter en arrière-plan et redémarrer automatiquement en cas de panne.
De plus, pour mes serveurs distants, j’ai un script de surveillance qui les envoie en permanence et m’alerte lorsqu’ils ne répondent pas à un certain nombre de pings. L’installation du script en tant que service signifie que je n’ai pas besoin d’exécuter le script manuellement à chaque démarrage de mon PC. Étant donné que le script s’exécute en arrière-plan, je peux également copier la sortie du script (dans mon cas, les horodatages) dans un fichier journal à l’aide de la commande « AppStdout » de NSSM, ainsi que tout message d’erreur à l’aide de la commande « AppStderr ».
Dans un article que j’ai écrit il y a quelques semaines, j’ai expliqué comment utiliser le Planificateur de tâches pour planifier des tâches de nettoyage et de maintenance. Bien que les commandes et les scripts de cet article puissent être transformés en services, il s’agit d’un cas dans lequel je pense que le Planificateur de tâches est supérieur, car toutes les opérations de nettoyage s’exécutent rarement à des moments précis. Parce qu’ils sont conçus pour s’exécuter et se fermer, le Planificateur de tâches est meilleur pour cela. Cependant, si j’avais besoin de surveiller un dossier et d’élaguer continuellement son contenu, l’installation de ce script en tant que service serait certainement utile.
Un dernier mot sur la sécurité
Certains appellent cela un logiciel à risque
Il existe de nombreux autres cas d’utilisation dans lesquels NSSM est utile. Au-delà de l’automatisation personnelle, elle est largement présente dans tous les domaines, des déploiements Windows automatisés aux systèmes de point de vente. Cependant, sa puissante capacité à installer des services constitue également sa plus grande faiblesse, car elle a été exploitée par des acteurs malveillants pour déployer des logiciels malveillants tels que des mineurs de crypto, des portes dérobées et d’autres charges utiles pas si amusantes. Pour cette raison, certains fournisseurs de sécurité classent NSSM comme un logiciel légitime à risque qui peut facilement être utilisé à mauvais escient. De plus, étant donné que des versions modifiées de NSSM existent à des fins malveillantes, il est important de les télécharger uniquement à partir de la source officielle.
Je suis encore en train de trouver de nouvelles façons d’utiliser NSSM. Si cet outil fait partie de votre flux de travail, laissez un commentaire et j’aimerais donner suite à vos suggestions.
*️⃣ Lien source :
anciennes commandes Windows, Windows Service Control Manager, serveur RustDesk, planification des tâches de nettoyage et de maintenance, fournisseurs de sécurité,