J'ai besoin de créer un script commun pour redémarrer le service:
net stop <service>
net start <service>
Problème est que je ne connais pas le nom du service. Par exemple pour "printer spooler
"est le nom" spooler
".
Comment puis-je trouver le nom de n'importe quel service?
services.msc
.Tu devrais voir:
Utilisez sc
plutôt que net
, puisqu'il bénéficie beaucoup plus de fonctionnalités. Il a été introduit pour la première fois (IIRC) dans Windows XP:
sc GetKeyName "printer spooler"
devrait imprimer quelque chose comme:
[SC] GetServiceKeyName SUCCESS Name = Spooler
Et vous pouvez ensuite utiliser ce nom dans d'autres commandes, comme sc start
et sc stop
.
Je reçois cela à partir du registre: HKLM\System\CurrentControlSet\Services. Chaque sous-clé est le nom d'un service ou d'un pilote. Il suffit de chercher celui que vous recherchez.
Pour les systèmes qui ont accès à PowerShell. Un meilleur moyen de le faire est avec la cmdlet "Get-Service". Vous pouvez l'invoquer en tapant:
Get-Service -DisplayName "Print Spooler"
Qui va revenir:
Status Name DisplayName
------ ---- -----------
Running Spooler Print Spooler
Où vous obtenez le nom du service sous le nom. Le paramètre DisplayName peut prendre des cartes sauvages si vous le souhaitez. Si vous souhaitez obtenir le nom d'affichage, vous pouvez écrire:
Get-Service -Name spooler
Qui retournerait la même table que ci-dessus. Vous pouvez également écrire:
(Get-Service -DisplayName "Print Spooler").Name
Pour obtenir juste le nom (éviter une table).
Ceci n'est vraiment nécessaire que de faire pour vérifier si un service est en cours d'exécution. PowerShell a la cmdlet Start-Service et STOP-SERVICE qui prend le paramètre -Name et -DisplayName afin que vous puissiez écrire:
Start-Service -DisplayName "Print Spooler"
Stop-Service -DisplayName "Print Spooler"
Pour commencer et arrêter le service.
Dans ce cas, j'ai utilisé PowerShell 2.0, donc je suppose que cela fonctionnera sur toutes les fenêtres ci-dessus et y compris XP.