Aller au contenuAller à l'arborescence
  1. C:
  2. Windows
  3. System32
  4. svchost.exe
FichierRisque : Ne pas toucher

svchost.exe C:\Windows\System32\svchost.exe

Processus hôte générique des services Windows chargés depuis des DLL ; plusieurs instances s'exécutent, regroupant des services par groupe.

Mis à jour le Par AltF4 Formation

À quoi ça sert

svchost.exe (Service Host) est le processus hôte des services Windows implémentés sous forme de DLL. Le gestionnaire de services lance plusieurs instances, chacune hébergeant un ou plusieurs services : c’est pourquoi le Gestionnaire des tâches en affiche des dizaines. Depuis Windows 10 version 1703, sur une machine avec assez de mémoire, de nombreux services sont séparés dans leur propre svchost.exe, ce qui facilite l’isolation et le diagnostic.

Ce qu’il contient

  • Un exécutable signé par Microsoft dans C:\Windows\System32.
  • De nombreuses instances, avec une ligne de commande -k <groupe> (et parfois -s <service>).
  • Le service hébergé et sa DLL sont décrits dans la clé HKLM\SYSTEM\CurrentControlSet\Services\<nom>\Parameters (valeur ServiceDll).

Risques et bonnes pratiques

  • Avant de terminer un svchost.exe, regardez quels services il héberge (tasklist /svc) : certains sont critiques et provoquent un arrêt ou un redémarrage.
  • Le nom est un grand classique des malwares. Le vrai fichier est dans System32, signé, avec services.exe pour parent.
  • Pour une consommation anormale, identifiez le service responsable puis agissez sur lui, pas sur le processus.

Commandes utiles

Fenêtre de terminal
# Lister les services hébergés dans chaque processus svchost.exe
tasklist /svc /fi "imagename eq svchost.exe"
# Voir les services dont le chemin pointe vers svchost, avec le groupe
Get-CimInstance Win32_Service | Where-Object PathName -like "*svchost.exe*" | Select-Object Name, ProcessId, PathName
# Vérifier la signature numérique du fichier
Get-AuthenticodeSignature "$env:windir\System32\svchost.exe" | Select-Object Status, @{n="Signer";e={$_.SignerCertificate.Subject}}
# Vérifier que chaque svchost a pour parent services.exe
Get-CimInstance Win32_Process -Filter "Name='svchost.exe'" | Select-Object ProcessId, ParentProcessId, ExecutablePath

Signaler une erreur