В этой статье разберемся со службами в системе Windows. Узнаем что такое Службы Windows. Посмотрим на них и научимся получать информацию по каждой службе.
Основная информация
Из предыдущей статьи вы должны помнить что за запуск и остановку служб отвечает системный процесс Services.exe — диспетчер служб. Именно он запускает дочерние процессы Svhost.exe.
Почти все системные службы запускаются одним и тем же исполняемым файлом — svhost.exe. Но при запуске этому файлу передаются разные параметры командной строки, и для каждой службы они будут разными. Это видно на следующем изображении:
Параметры вызова исполняемого файла svhost.exe для конкретной службы определяется значением из реестра. Ключ реестра при этом следующий — HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\имя_службы:
Службы могут запускаться автоматически во время загрузки системы и без необходимости интерактивного входа в систему. Или могут запускаться вручную.
Большинство служб работают от имени специальной учетной записи.
Оснастка services.msc
Для управлением службами можно использовать оснастку services.msc:
Нажав правой кнопкой мышки по службе вы можете: запустить или остановить её, приостановить или продолжить, или перезапустить службу:
А открыв «Свойства» службы вы можете настроить ей «Тип запуска«. Служба может запускаться при старте системы, вручную или быть полностью отключенной:
Используем командную строку
В командной строке можно посмотреть список процессов командой tasklist.exe /svc. При этом, если процесс обслуживает какую-то службу, то вы увидите и название этой службы:
>tasklist.exe /svc Имя образа PID Службы ========================= ======== ============================================ System Idle Process 0 Н/Д System 4 Н/Д Registry 92 Н/Д smss.exe 332 Н/Д csrss.exe 448 Н/Д wininit.exe 672 Н/Д services.exe 748 Н/Д lsass.exe 756 KeyIso, Netlogon, SamSs, VaultSvc fontdrvhost.exe 872 Н/Д svchost.exe 896 BrokerInfrastructure, DcomLaunch, PlugPlay, Power, SystemEventsBroker svchost.exe 492 RpcEptMapper, RpcSs svchost.exe 544 LSM svchost.exe 980 W32Time svchost.exe 1016 nsi svchost.exe 1064 NcbService svchost.exe 1100 Dnscache svchost.exe 1124 TimeBrokerSvc svchost.exe 1148 Dhcp svchost.exe 1196 EventLog svchost.exe 1264 hidserv svchost.exe 1312 BFE, mpssvc
А также вы можете использовать команду SC query, что выведет список всех служб:
>SC query Имя_службы: AdobeARMservice Выводимое_имя: Adobe Acrobat Update Service Тип : 10 WIN32_OWN_PROCESS Состояние : 4 RUNNING (STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN) Код_выхода_Win32 : 0 (0x0) Код_выхода_службы : 0 (0x0) Контрольная_точка : 0x0 Ожидание : 0x0 Имя_службы: AnyDesk Выводимое_имя: AnyDesk Service Тип : 10 WIN32_OWN_PROCESS Состояние : 4 RUNNING (STOPPABLE, NOT_PAUSABLE, ACCEPTS_SHUTDOWN) Код_выхода_Win32 : 0 (0x0) Код_выхода_службы : 0 (0x0) Контрольная_точка : 0x0 Ожидание : 0x0 Имя_службы: Appinfo Выводимое_имя: Сведения о приложении Тип : 30 WIN32 Состояние : 4 RUNNING (STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN) Код_выхода_Win32 : 0 (0x0) Код_выхода_службы : 0 (0x0) Контрольная_точка : 0x0 Ожидание : 0x0
Службы объединённые в группы
Разные службы могут работать в одном процессе svhost.exe. Для этого они объединяются в группу. Посмотреть все службы и группы служб, которые запускаются с помощью svhost.exe можно в реестре по такому пути: HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\Svchost.
Например, группа DcomLaunch содержит следующие службы:
В Process Explorer можно найти процесс svchost.exe, он будет выделен розовым цветом, так как это процесс службы. И у него будут дочерние процессы. Найдя этот процесс и открыв его свойства, на вкладе Services можно увидеть такой список служб:
При этом, выделив одну из служб вы увидите снизу описание этой службы.