Comment créer un service Windows
Parfois, vous avez besoin d'une application ou d'un script pour continuer à fonctionner, que vous soyez connecté ou non à votre ordinateur. Il s'agit peut-être d'un script PowerShell pour surveiller les ports(PowerShell script to monitor ports) ou d'un serveur Web hébergeant une page sur votre réseau domestique(web server hosting a page on your home network) .
Le fait est que si vous souhaitez qu'un processus, un script ou un programme s'exécute tant que l'ordinateur est allumé, vous devez créer un Windows Service .
De quoi ai-je besoin pour créer un service Windows ?(What Do I Need to Create a Windows Service?)
Pour créer un service Windows dans Windows 10 , il y a quelques prérequis :
- Accès administrateur(Administrator) sur l'ordinateur
- Quelque chose à exécuter en tant que service ( PowerShell Script , programme, etc.)
- Non-Sucking Service Manager ( NSSM ) installé
Qu'est-ce que le gestionnaire de service non aspirant ?(What Is the Non-Sucking Service Manager?)
Oui, vous ne pouvez pas laisser tomber un nom comme ça sans l'expliquer. Bien sûr, le nom est malheureux, mais il est exact. Le gestionnaire de service(Service Manager) non aspirant ( NSSM ) est sans doute le moyen le plus simple de créer un service Windows à la fois hautement fiable et configurable. De plus, c'est un logiciel gratuit et Open Source(Open Source Software) (OSS).
NSSM peut être utilisé via l' invite de commande Windows(Windows Command Prompt) ou une interface utilisateur graphique ( GUI ). Cela signifie que n'importe qui peut l'utiliser. NSSM peut être utilisé sur n'importe quelle version de Windows depuis et y compris Windows 2000 . Il existe des versions 32 bits et 64 bits . (32-bit and 64-bit)Si vous utilisez un ordinateur 64 bits, essayez d'abord cette version. Si cela ne fonctionne pas, revenez à la version 32 bits.
Vous pouvez télécharger NSSM à partir du site Web(download NSSM from the website) , cloner NSSM à partir de Git(clone NSSM from Git) ou installer NSSM avec Chocolatey(install NSSM with Chocolatey) . Chocolatey est un gestionnaire de paquets pour Windows(Chocolatey is a package manager for Windows) . Les méthodes d' installation(Installation) varient en fonction de l'itinéraire que vous empruntez. Veuillez(Please) consulter les instructions de NSSM . Pour notre exemple, nous téléchargeons depuis le site Web NSSM et l'installons dans C:\WINDOWS\system32 .
Créer un service Windows avec NSSM(Create a Windows Service With NSSM)
Pour cet exemple, nous allons créer un service à partir d'un script PowerShell(PowerShell script) pour consigner le pourcentage de charge moyenne du processeur(CPU average load percentage) .
- Copiez et enregistrez ce script sous le nom log-CPULoadPercentage.ps1 dans un emplacement auquel personne d'autre n'est susceptible d'accéder. Essayez de créer le répertoire C:/Scripts et de l'y stocker. Créez également un dossier dans Scripts appelé Logs . Notez que le chemin d'accès au script est C:/Scripts/log-CPULoadPercentage.ps1 . Vous en aurez besoin plus tard.
Remarque(Note) : Toutes les lignes ci-dessous suivies du symbole # sont des commentaires et n'affecteront pas le script.
CLS #Optional. I like to use this to clear the terminal when testing. #Make sure you have a folder called Logs in the same directory as this script #The log is where the records will be stored. Start-Transcript -Path "$PSScriptRoot\Logs\log-CPULoadPercentage-$(get-date -f yyyy-MM-dd).txt" -Append #While loop keeps it running until manually stopped While ($True){ #Creates a timestamp to know when the measurement was taken $timeStamp = get-date -f yyyy-MM-h:mm:ss #Gets the average load percentage at that time, then waits 5 seconds to do it again. $cpuLoadPercent = Get-CimInstance win32_processor | Measure-Object -Property LoadPercentage -Average | Select-Object Average;Start-Sleep -Seconds 5 #Isolates just the average so there isn't a weird @{Average=13} string $cpuLoadPercent = $cpuLoadPercent.Average #writes results to screen, or in this case to the log Write-Host "$timeStamp CPU Load Percentage $cpuLoadPercent" } Stop-Transcript
- Cela peut être fait dans l' invite de commande Windows(Windows Command Prompt) ou dans PowerShell. Ouvrez-le en tant qu'administrateur(Open it as Administrator) .
- Entrez la commande nssm install logCPUAvg et exécutez-la. La fenêtre du programme d'installation du service NSSM(NSSM service installer) s'ouvrira.
- Cliquez(Click) sur le bouton représentant des points de suspension à côté du champ Path :, accédez au fichier powershell.exe(powershell.exe ) qui se trouve normalement dans C:\Windows\System32\ . Sélectionnez powershell.exe. Les champs Chemin :(Path:) et Répertoire de démarrage :(Startup directory:) seront automatiquement renseignés.
- Entrez ce qui suit dans le champ Arguments : : -ExecutionPolicy Bypass -NoProfile -File “C:\PathToScript\get-Script.ps1” , où la dernière partie est le chemin d'accès à votre script PowerShell et le nom du script.(PowerShell)
- Sélectionnez l' onglet Détails . (Details)Entrez ce que vous souhaitez que le service s'affiche dans le gestionnaire de services Windows dans le champ (Windows) Nom d'affichage :(Display name: ) . Ensuite, entrez ce qu'il fait dans le champ Description : . Le type de démarrage :(Startup type: ) peut être défini sur Automatique(Automatic) , Automatique (démarrage différé)(Automatic (Delayed Start)) , Manuel(Manual) ou Désactivé(Disabled) . Pour cet exercice, Automatique(Automatic) est bon.
- Sélectionnez l' onglet Connexion . (Log on )Sélectionnez Ce compte(This account) : bouton radio et entrez le compte et le mot de passe sous lesquels le service sera exécuté. Vous devrez choisir un compte sous lequel le service sera exécuté. Idéalement, vous aurez un compte Windows créé uniquement pour exécuter ce service. Les autorisations de ce compte doivent être limitées à ce que le service doit faire. Vous pouvez choisir le compte Système local(Local System account) , mais ce n'est pas recommandé pour des raisons de sécurité.
Plusieurs autres onglets peuvent être utilisés pour personnaliser le service. Pour cet exercice, les valeurs par défaut de ces onglets sont suffisantes. Sélectionnez le bouton Installer le service .(Install service )
- Lorsque le service est installé, vous verrez le Service “logCPUAvg” installed successfully! la fenêtre. Sélectionnez OK pour le fermer. Cela conclut l'installation.
- Ouvrez le gestionnaire de services Windows(Windows Services Manager ) et assurez-vous que le service est là.
- Exécutez(Run) le service pour vous assurer qu'il fonctionnera.
- Pour vérifier que ce service est en cours d'exécution, utilisez l' Explorateur de fichiers(File Explorer ) pour accéder à l'endroit où le journal est censé être enregistré pour voir s'il existe.
nssm-check-log.png
Suppression d'un service Windows avec NSSM(Removing a Windows Service With NSSM)
Peut-être que vous n'avez plus besoin de surveiller la charge de votre processeur(monitor your CPU) , vous souhaitez donc vous débarrasser du service. Heureusement, NSSM rend cela facile.
- Dans le Gestionnaire de services Windows(Windows Services Manager) , arrêtez le service. Pour ce faire, sélectionnez le service Log CPU Average Load , puis sélectionnez le bouton d'arrêt carré dans la barre d'outils ou le lien Arrêter le service(Stop the service) sur le côté gauche.
- Ouvrez l' invite de commande Windows(Windows Command Prompt ) ou PowerShell en tant qu'administrateur.
- Entrez la commande nssm remove logCPUAvg et exécutez la commande.
- NSSM vous demandera de confirmer. Sélectionnez Oui(Yes) .
- Lorsque le service est supprimé, vous verrez le Service “logCPUAvg” removed successfully! Confirmation. Sélectionnez OK et vous avez terminé.
C'est tout. C'est une bonne idée de vérifier le gestionnaire de services pour s'assurer que le service n'est plus là. Si vous voyez toujours le service, vous devrez peut-être actualiser l'écran et il devrait disparaître.
Les services sont un excellent moyen d'exécuter des applications ou des scripts qui doivent s'exécuter tout le temps, se redémarrer s'ils échouent ou nécessitent des privilèges différents de l'utilisateur actuel. Si vous n'avez pas besoin de votre application ou de votre script pour faire toutes ces choses, envisagez plutôt d'utiliser une tâche planifiée .(using a Scheduled Task)
Related posts
Comment activer ou désactiver IP Helper Service dans Windows 10
Comment activer le DNS Client Service s'il est grisé dans Windows 10
Comment désactiver Windows Insider Service sur Windows 10
Qu'est-ce que Bonjour Service sur Windows 10?
Fix System Service Exception Error en Windows 10
Convert EPUB à MOBI - Outils de convertisseur gratuits pour Windows 10
Best gratuit Molecular Modeling software pour Windows 10
Correction du service Intel RST ne fonctionne pas dans Windows 10
Long Path Fixer tool va réparer les erreurs longues Path Too dans Windows 10
Qu'est-ce que le service Waasmedic et est-il sûr ?
Battery Limiter software gratuit pour Windows 10
Watch TV numérique et écouter Radio sur Windows 10 avec ProgDVB
Comment désactiver les classes de stockage amovibles et l'accès à Windows 10
Top 3 Reddit apps pour Windows 10 qui sont disponibles à Windows Store
Make Firefox display Media Controls sur Windows 10 Lock Screen
Comment configurer le service VPN intégré de Windows 10
Qu'est-ce que le service Bonjour (et en avez-vous besoin)
Best Mountain Sports gratuit pour Windows 10 PC
Qu'est-ce que le processus exécutable du service antimalware et est-il sûr ?
Microsoft Remote Desktop Assistant pour Windows 10