Avez-vous rencontré une situation où la désinstallation d'un logiciel laisse ses entrées de service ou de pilote dans le registre et Windows essaie de les charger à chaque démarrage, échoue et enregistre l'erreur dans le journal des événements système à chaque démarrage?
Cette publication vous explique comment supprimer un service orphelin dans Windows 10, 8, 7 et Vista à l'aide du registre, de la ligne de commande SC.exe ou à l'aide des Autoruns. Avant de poursuivre, créez un point de restauration du système et / ou une sauvegarde complète du registre.
Contenu
- Supprimer un service dans Windows
- Méthode 1: à l'aide de la commande SC.EXE
- Méthode 2: utilisation des Autoruns
- Méthode 3: à l'aide de l'Éditeur du Registre
- Méthode 4: utilisation de PowerShell
- INFO: afficher les personnes à charge d'un service
Comment supprimer un service dans Windows?
Si vous constatez qu'aucune personne à charge n'existe pour un service, vous pouvez supprimer le service restant ou indésirable dans Windows en utilisant l'une des méthodes suivantes.
Méthode 1: supprimer un service à l'aide de la commande SC.EXE
L'outil de ligne de commande SC dans Windows peut être utilisé pour créer, modifier ou supprimer des services. Pour supprimer un service dans Windows, utilisez la syntaxe de ligne de commande suivante à partir de l'invite de commandes admin:
sc delete nom_service
Où nom_service fait référence au nom court ou au nom de clé du service, au lieu de son nom d'affichage. Pour trouver le nom court, ouvrez Services MMC et double-cliquez sur un service.
- Exemple 1: le nom abrégé des mises à jour automatiques est
wuauserv
et le nom d'affichage est «Mises à jour automatiques». - Exemple 2: Google Update Service (gupdate) est le nom d'affichage et
gupdate
est le nom court
Une autre façon de trouver le nom court d'un service est d'utiliser cette ligne de commande:
sc getkeyname "nom d'affichage du service"
qui dans cet exemple est:
sc getkeyname "Service de mise à jour Google (gupdate)"
Une fois le nom abrégé du service obtenu à l'aide de l'une des méthodes ci-dessus, utilisez cette commande pour supprimer le service:
sc delete test
Vous verrez la sortie: [SC] DeleteService SUCCESS
Cela supprime le service spécifié (service «test» dans cet exemple) de l'ordinateur.
Si le service est en cours d'exécution ou si un autre processus a une poignée ouverte sur le service, le service sera simplement marqué pour suppression et supprimé au prochain redémarrage.
Méthode 2: supprimer un service à l'aide d'autoruns de Windows Sysinternals
Autoruns, de Microsoft Windows Sysinternals, est un outil indispensable qui vous aide à gérer le démarrage de Windows, les services, les pilotes, les fournisseurs Winsock, les modules complémentaires Internet Explorer, les extensions Shell et bien plus encore.
- Téléchargez Autoruns et exécutez-le
- Dans l'onglet Options, cochez Masquer les entrées Microsoft pour que seules les entrées tierces soient répertoriées.
- Appuyez sur F5 pour actualiser la liste.
- Cliquez sur l'onglet Services, d'où vous pouvez supprimer les services indésirables ou restants.
- Fermez Autoruns.
Méthode 3: supprimer un service à l'aide de l'Éditeur du Registre
Pour supprimer manuellement un service du registre Windows, procédez comme suit:
- Démarrez
Regedit.exe
et accédez à la branche suivante:HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services
Chaque sous-clé sous la clé de Registre ci-dessus représente un pilote ou un service. Le nom de clé est également le nom abrégé du service. En outre, vous devriez être en mesure d'identifier facilement l'entrée en consultant les valeurs DisplayName et ImagePath dans le volet droit de l'Éditeur du Registre.
- Recherchez l'entrée que vous souhaitez supprimer.
- Sauvegardez la clé appropriée en l'exportant dans un fichier .reg.
- Une fois exportée, cliquez avec le bouton droit sur la clé et choisissez Supprimer.
- Quittez l'Éditeur du Registre.
Méthode 4: supprimer un service à l'aide de PowerShell
Depuis la fenêtre de l'administrateur PowerShell, vous pouvez utiliser les commandes suivantes pour supprimer un service.
$ service = Get-WmiObject -Class Win32_Service -Filter "Name = 'servicename'" $ service.delete ()
ReturnValue de 0
indique que l'opération a réussi. Le service est supprimé et apparaît désormais plus longtemps dans la console MMC Services.
Pour connaître la signification d'une valeur de retour, consultez l'article Microsoft Supprimer la méthode de la classe Win32_Service
Ou vous pouvez exécuter la commande sc.exe dans PowerShell. Cela fonctionnerait aussi. Mais vous devez utiliser l'extension de fichier (sc.exe
) lors de son exécution dans PowerShell. En effet, la commande SC
(sans mentionner l'extension .exe
) sera interprétée comme Set-Content
qui est une applet de commande intégrée dans PowerShell. C'est encore plus facile si vous avez installé PowerShell 6.0. Dans PowerShell 6 et versions ultérieures, vous pouvez utiliser cette syntaxe pour supprimer un service:
Remove-Service -Name ServiceName
L'exécution de la commande Remove-Service
dans les anciennes versions de PowerShell (<6.0) affiche l'erreur: Le terme «Remove-Service» n'est pas reconnu comme le nom d'une applet de commande, d'une fonction, d'un fichier de script ou d'un programme exploitable.
Afficher les personnes à charge d'un service
Lorsque vous supprimez un service, d'autres qui dépendent du service ne peuvent pas démarrer, renvoyant l'erreur «Une erreur système 1075 s'est produite. Le service de dépendance n'existe pas ou a été marqué pour suppression. ». Lorsqu'un pilote ou une entrée de service est resté dans le registre mais que les fichiers correspondants sont manquants, le journal des événements enregistre une entrée avec l' ID:7000
à chaque démarrage.
Source: Service Control Manager
Date:
ID d'événement: 7000
Niveau: erreur
La description:
Le service DgiVecp n'a pas pu démarrer en raison de l'erreur suivante:
Le système ne peut pas trouver le fichier spécifié.
Il est donc conseillé de vérifier d'abord s'il y a des personnes à charge. Vous pouvez vérifier cela dans Services MMC en double-cliquant sur l'élément que vous allez supprimer et en cliquant sur l'onglet Dépendances. La liste des composants qui dépendent de ce service est présentée ci-dessous. Voici un exemple, où «Fax» dépend de «Print Spooler» pour démarrer.
Alors que la plupart des services tiers n'ont pas de personnes à charge, certains en ont. Il est toujours conseillé de jeter un œil à cet onglet avant d'effacer l'élément.
Une autre façon de vérifier les dépendants consiste à exécuter cette commande à partir d'une fenêtre d'invite de commandes. (exemple, Spouleur d'impression )
sc enumdepend spooler
Les informations contenues dans cet article s'appliquent à toutes les versions de Windows, y compris Windows 10.