Windows permet de gérer les services Windows depuis la console services.msc ou avec la commande CMD sc.exe mais on peut aussi le faire en PowerShell.
Cet article vous donne les cmdlets Powershell pour démarrer, arrêter ou supprimer des services Windows.
Table des matières
Introduction
PowerShell permet beaucoup de choses parmi lesquels vous pouvez gérer les services Windows.
Cela va de lister les services, à arrêter ou démarrer un service Windows et enfin modifier la configuration.
Il faut bien entendu ouvrir un PowerShell en administrateur puisque vous modifiez la configuration de Windows.
Gérer les services Windows en Powershell
Voici la commande qui affiche la liste des cmdlets Powershell liés aux services Windows.
Get-Help \*-Service
Lors de la première exécution, on vous demande si vous souhaitez installer Update-Help.
Répondez oui puis une mise à jour s’effectue.
Enfin la liste des commandes Powershell pour gérer les services Windows s’affichent.
- Get-Service – permet d’obtenir les services sur un ordinateur local ou distant à la fois en cours d’exécution ou arrêté;
- New-Service – crée un service. L’applet de commande crée une nouvelle entrée pour un service Windows dans le registre et dans la base de données de service;
- Restart-Service – redémarre un service. L’applet de commande envoie le message de redémarrage via le contrôleur de service Windows;
- Resume-Service – reprend un service. L’applet de commande envoie un message de reprise au Gestionnaire de services Windows;
- Set-Service – modifie les paramètres d’un service local ou distant, y compris son état, sa description, son nom affiché ou son mode de démarrage. Vous pouvez également utiliser cette applet de commande pour démarrer, arrêter ou suspendre un service;
- Start-Service – démarre un service;
- Stop-Service – arrête un service (l’applet de commande envoie un message d’arrêt au Gestionnaire de services Windows);
- Suspend-Service – suspend un service. Un service suspendu est toujours en cours d’exécution, mais il ne fait rien tant qu’il ne reprend pas son utilisation (par exemple, avec la cmdlet Resume-Service).
Pour obtenir l’aide d’un Cmdlet en particulier, utilisez la commande Get-Hep de cette manière :
Get-Help Get-Service
Get-Service : Vérifier l’état d’un service Windows
Le cmdlet Get-Service permet de lister les services et obtenir l’état et informations sur ces derniers.
Get-Service
Vous pouvez filtrer la liste sur le nom grâce à -Name.
Par exemple :
Get-Service -Name brave*
ou encore sur le statut par exemple selon le type de démarrage :
Get-Service | Where-Object {$_.status -eq 'running'}
Get-Service | Where-Object {$_.starttype -eq 'Manual'}
Notez que l’on peut aussi utiliser get-wmiobject :
get-wmiobject win32_service -filter "name='brave'"
Si vous ne connaissez pas le nom exact du service, vous pouvez le trouver par son nom affiché à l’aide du paramètre –DisplayName. Vous pouvez utiliser la liste des valeurs et des caractères génériques.
Ensuite pour obtenir les status du service, on utilise Select.
Ainsi pour obtenir le statut du service wuauserv :
Get-Service wuauserv | Select DisplayName,Status,ServiceName,Can*
Enfin pour afficher les dépendances, on utilise les paramètres –DependentServices ou –RequiredServices
DependentServices permet d’afficher les services dépendant du service donné :
Get-Service –Name wuauserv -RequiredServices
Alors que RequiredServices affiche les services dont dépend le service donné :
Get-Service –Name wuauserv -DependentServices
Comment arrêter, démarrer ou redémarrer le service avec PowerShell
Pour arrêter un service Windows, on utilise Stop-Service suivi du nom du service:
Stop-Service -Name wuauserv
On peut forcer l’arrêt avec le paramètre –force, cela va aussi arrêter les services qui en dépendant :
Stop-Service wuauserv –Force -Passthru
Enfin avec un pipe, on peut arrêter plusieurs services :
get-service bits,wuauserv | where {$_.status -eq 'running'} | stop-service –passthru
Le démarrage d’un service utilise la même syntaxe avec le cmdlets Start-Service
Start-Service -Name wuauserv -PassThru
Le service ne démarre que les services qui en dépendent sont démarrés.
Ainsi, on peut démarrer tout cela en une seule commande PowerShell :
get-service samss | Foreach { start-service $_.name -passthru; start-service $_.DependentServices -passthru}
Pour relancer un service Windows en Powershell :
Restart-Service -Name spooler
Et si l’on veut relancer tous les services en pause :
get-service | where-object {$_.Status -eq "Stopped"} | restart-service
Ou encore par exemple, pour relancer tous les services Network en pause :
get-service net* | where-object {$_.Status -eq "Stopped"} | restart-service
Enfin on peut mettre un service en pause, si ce dernier le supporte avec Suspend-Service.
Get-Service samss | Format-List name, canpauseandcontinue
Pour le relancer, on utilise Resume-Service :
Resume-Service -Name samss
Changer le type de démarrage d’un service
Le cmdlet Set-Service donne la possibilité de changer le type de démarrage d’un service.
Les paramètres possibles :
- Automatic : le service démarre au lancement de Windows
- Manual : un programme ou l’utilisateur peut le démarrer manuellement
- Disable : le service est désactivé.
Pour passer un service en démarrage automatique :
Set-Service spooler –startuptype automatic –passthru
Pour modifier le type de démarrage d’un service Windows en Powershell en manuel :
Set-Service spooler –startuptype manual –passthru
Créer ou supprimer en Powershell
Enfin le cmdlet New-Service vous permet de créer un nouveau service Windows.
Voici la syntaxe à utiliser :
new-service -name TestSvc -binaryPathName "C:\WINDOWS\System32\svchost.exe -k netsvcs"
Liens
- Processus et Services Windows : lister, arrêter
- Ajouter, supprimer et modifier des comptes utilisateurs et des groupes locaux avec PowerShell
- Créer, supprimer, formater des partitions de disque en Powershell
- Comment ouvrir les services Windows
- Comment démarrer, arrêter, redémarrer, désactiver un service Windows 10
- Supprimer un service Windows
- Désactiver les services inutiles de Windows 10
- Désactiver les services inutiles de Windows 11
- Comment restaurer et remettre les services Windows 10, 11 par défaut
- La liste complète des services Windows 10, 11 avec nom et type de démarrage
- Les processus et services Windows
- Erreur 1079 : le compte spécifié pour ce service est différent
- Erreur 1068 : Le service ou le groupe de dépendance n’a pas pu démarrer
- Erreur 1053 : Le service n’a pas répondu assez vite à la demande de lancement ou de contrôle
- Erreur 1058 : Le service ne peut pas être démarré Windows 10/11
- Erreur 1069 : Windows n’a pas pu démarrer le service Service
- La commande SC pour configurer les services Windows
- Résoudre l’écran bleu system service exception sur Windows 10 (BSOD)
- Erreur 5 accès refusé lors du démarrage d’un service Windows