
Table des matières
Je recherche toujours des moyens efficaces de gérer les tâches système sans quitter le terminal, même lorsque j'utilise Windows. Sur Windows, les services s'exécutent en arrière-plan pour maintenir le bon fonctionnement du système et des applications. Au lieu d'ouvrir le gestionnaire de services, je préfère gérer les services Windows via la ligne de commande. Dans ce guide, nous allons explorer ces méthodes et voir comment vous pouvez gérer les services Windows directement à partir du terminal.
1. Gérer les services Windows avec sc.exe
SC.EXE est un outil de ligne de commande intégré pour gérer les services Windows. Il vous permet de configurer, de remettre en question et de contrôler les services directement à partir du terminal. Avec Sc.exe, vous obtenez un contrôle total sur les services Windows sans avoir besoin du Graphical Services Manager.
Vérification de l'état du service avec SC
Nous pouvons utiliser le sc query serviceName
commande pour vérifier l'état d'un service spécifique. Par exemple, nous exécutons le sc query MySQL80
Commande pour récupérer des détails sur le service MySQL80, y compris son état:
Actuellement, MySQL ne fonctionne pas sur notre machine.
Démarrer un service avec SC
Pour démarrer un service spécifique à l'aide de sc.exe, nous pouvons utiliser le sc start ServiceName
commande. Par exemple, nous courons sc start MySQL80
Pour démarrer le service MySQL80. Pour vérifier si le service a commencé avec succès, nous pouvons vérifier son statut en utilisant le sc query MySQL80
commande:

Arrêter un service avec SC
Vous pouvez arrêter un service pour libérer les ressources système. Par exemple, la commande sc stop MySQL80
Arrête MySQL, qui peut être vérifiée en utilisant le sc query MySQL80
commande:

Création d'un nouveau service avec SC
Nous pouvons créer un nouveau service en utilisant le sc create
commande. Cela nécessite de spécifier le nom du service, le chemin exécutable et le type de démarrage. Par exemple, pour créer un nouveau service nommé «MTE» qui démarrera automatiquement au démarrage, Type:
sc create mte binPath= "C:UsersHPDesktopExamplesService.exe" start= auto

Mise à jour d'un service avec SC
Nous pouvons utiliser le sc config
commande pour configurer un service existant. Par exemple, pour modifier le type de démarrage en manuel, exécutez la commande:
sc config serviceName start= demand

Suppression d'un service avec SC
Une fois qu'un service n'est plus nécessaire, nous pouvons le supprimer en permanence de Windows à l'aide de la commande:
sc delete srviceName

2. Gérer les services Windows avec la commande net
Le net
La commande dans Windows nous permet de gérer les services à partir de la ligne de commande. Il permet aux utilisateurs de démarrer, d'arrêter, de faire une pause, de reprendre et de remettre en question les services sans utiliser le Graphical Services Manager.
Service de démarrage et d'arrêt avec la commande net
Nous pouvons démarrer ou arrêter les services Windows avec le net start serviceName
et net stop serviceName
Commandes, respectivement:

Utiliser et reprendre des services avec la commande net
Certains services Windows soutiennent une pause et une reprise au lieu d'un arrêt complet. Dans ce cas, nous pouvons utiliser le net pause ServiceName
et net continue ServiceName
Commandes, respectivement:

Vérification de l'état du service avec la commande net
La commande net elle-même ne fournit pas de moyen direct de vérifier l'état d'un service spécifique, mais nous pouvons l'utiliser avec le findstr
commande pour filtrer les résultats. Par exemple, pour vérifier si le service spécifié est en cours d'exécution, tapez:
net start | findstr "ServiceName"

Si le service spécifié est en cours d'exécution, la commande renvoie son nom; Sinon, il n'y a pas de sortie.
Gérer les services à distance avec la commande net
Nous pouvons utiliser la commande net pour gérer les services sur des ordinateurs distants en spécifiant le nom de l'ordinateur. Par exemple, le net start ServiceName /S RemotePC
et net stop ServiceName /S RemotePC
Les commandes sont utilisées pour démarrer ou arrêter les services sur un ordinateur distant.
3. Gérer les services Windows avec PowerShell Cmdlets
PowerShell offre un contrôle plus avancé sur les services Windows avec des applets de commande intégrés comme Get-Service, Start-Service, Stop-Service et Restarter-Service. Ces applets de commande permettent aux utilisateurs de vérifier l'état d'un service, de le démarrer ou de l'arrêter, et même de le redémarrer en cas de besoin.
Les applications PowerShell fournissent une sortie détaillée, y compris l'état du service, le nom d'affichage et les services dépendants. Ces applets de commande permettent les scripts et l'automatisation, ce qui le rend utile pour gérer efficacement plusieurs services.
La flexibilité de PowerShell et les fonctionnalités puissantes en font l'outil préféré pour les administrateurs gérant les services Windows.
Obtenir le statut de service avec des applets de commande
Nous pouvons utiliser le Get-Service -Name ServiceName
Cmdlet pour obtenir les détails du service spécifié. Par exemple, la commande suivante renvoie l'état du service MySQL80, montrant s'il est en cours d'exécution ou s'est arrêté:
Get-Service -Name MySQL80

Interrogation des services avec PowerShell Cmdlets
Nous pouvons utiliser le Get-Service
commande de demander les services en fonction de critères spécifiques. Par exemple, nous pouvons récupérer tous les services en cours d'exécution en utilisant la commande:
Get-Service | Where-Object {$_.Status -eq 'Running'}

Démarrer et arrêter les services avec PowerShell Cmdlets
Nous pouvons démarrer ou arrêter un service spécifique en utilisant le Start-Service
et Stop-Service
Cmdlettes respectivement. Par exemple, nous utilisons des commandes PowerShell pour démarrer, arrêter et vérifier l'état du service MySQL80:
Start-Service -Name MySQL80
Stop-Service -Name MySQL80
Get-Service -Name MySQL80

Modification du type de startup de service avec des applets de commande PowerShell
Les applications PowerShell nous permettent de mettre à jour le type de démarrage du service. Par exemple, nous pouvons exécuter les cmdlets suivants pour configurer un service pour démarrer automatiquement avec le système, nécessiter un démarrage manuel ou être désactivé, respectivement:
Set-Service -Name ServiceName -StartupType Automatic
Set-Service -Name ServiceName -StartupType Manual
Set-Service -Name ServiceName -StartupType Disabled
Ces applets de commande aident les administrateurs à gérer efficacement le comportement des services, ce qui garantit que les services essentiels commencent au besoin tout en empêchant ceux inutiles de fonctionner.
Gérer les services à distance avec des cmdlettes
PowerShell permet également la gestion des services sur des ordinateurs distants en spécifiant les noms des ordinateurs distants. Par exemple, le Get-Service -Name ServiceName -ComputerName RemotePC
Commande récupère l'état d'un service spécifique exécutant sur un ordinateur distant nommé RemotePC, permettant aux administrateurs de surveiller les services à distance.
De même, le Restart-Service -Name ServiceName -ComputerName serviceName
La commande tente de redémarrer le service spécifié sur un ordinateur distant. Il garantit que le service redémarre sans nécessiter un accès direct à la machine. Cependant, la gestion des services à distance nécessite les autorisations appropriées et la répartition de PowerShell pour être activée.
4. Automatiser les tâches de gestion des services
Les scripts PowerShell permettent l'automatisation de la gestion des services, ce qui facilite la surveillance et le contrôle des services Windows sans intervention manuelle. Nous pouvons créer un script qui vérifie en continu l'état d'un service spécifique et le redémarrer s'il s'arrête de façon inattendue.
Par exemple, le script suivant vérifie si le service MySQL80 s'exécute et le redémarre s'il est arrêté:
$serviceName = "MySQL80"
$service = Get-Service -Name $serviceName
if ($service.Status -ne "Running") {
Restart-Service -Name $serviceName -Force
Write-Output "$serviceName was stopped and has been restarted."
} else {
Write-Output "$serviceName is already running."
}
Par défaut, Windows restreint exécuter les scripts. Pour activer l'exécution, d'abord, exécutez la commande:
Set-ExecutionPolicy RemoteSigned

Accédez maintenant à l'emplacement du script et exécutez le .serviceScript.ps1
Commande pour exécuter le script:

La gestion des services Windows à partir de la ligne de commande vous donne un contrôle complet sans compter sur le gestionnaire de services graphiques. Que vous utilisiez des applications SC.EXE, NET ou PowerShell, chaque méthode offre des moyens efficaces de démarrer, d'arrêter et de configurer les services.
Les capacités de script de PowerShell facilitent l'automatisation, vous permettant de surveiller et de gérer les services de manière transparente. En maîtrisant ces outils, vous pouvez résoudre les problèmes, optimiser les performances du système et vous assurer que les services critiques se déroulent bien.
Pour plus de moyens d'optimiser votre système Windows et de résoudre les problèmes courants, consultez ces guides sur la résolution des problèmes Windows et l'optimisation de votre PC pour de meilleures performances.