- Как управлять службами в Windows
- Что такое службы
- Настройка служб в графическом интерфейсе
- Типы запуска служб Windows
- Запуск, остановка, отключение служб Windows
- Управление службами с помощью командной строки
- Управление службами Windows с помощью PowerShell
- Команда SC – управление службами.
- Примеры использования SC.
Как управлять службами в Windows
Что такое службы
Службы — это вид программ, которые работают в фоне и не требуют действий пользователя.
Службы могут как относиться к операционной системе Windows, так и быть сторонними приложениями. Примеры служб, которые может установить сам пользователь: веб-сервер, удалённый рабочий стол VNC, SSH служба, служба СУБД MySQL.
Управлять службами можно:
- в графическом интерфейсе
- командной строке
- в PowerShell
Настройка служб в графическом интерфейсе
Чтобы открыть менеджер служб, введите в поиск «Службы» и нажмите Enter:
Ещё один способ открыть это окно, нажать Win+r и ввести:
Здесь, в столбце «Имя», вы увидите список служб, работающих в вашей системе, вместе с их Описанием. Вы также сможете увидеть их Статус — независимо от того, запущены они или остановлены, а также Типы запуска и Вход от имени.
Типы запуска служб Windows
Windows 10 предлагает четыре типа запуска:
- Автоматически
- Автоматически (отложенный запуск)
- Вручную
- Отключена
Запуск, остановка, отключение служб Windows
Чтобы запустить, остановить, приостановить, возобновить или перезапустить любую службу Windows, выберите службу и щёлкните её правой кнопкой мыши. Вам будут предложены эти варианты.
Если вы хотите управлять дополнительными опциями, дважды щёлкните Сервис, чтобы открыть окно его свойств.
Здесь, в раскрывающемся меню Тип запуска, вы сможете выбрать тип запуска для Сервиса.
В разделе «Состояние службы» вы увидите кнопки «Запустить», «Остановить», «Приостановить», «Продолжить».
В окне «Свойства» вы также увидите другие вкладки, такие как «Вход в систему», «Восстановление» и «Зависимости», которые предлагают дополнительные параметры и информацию.
После внесения изменений вам нужно будет нажать «Применить».
Управление службами с помощью командной строки
Вы также можете использовать командную строку для запуска, остановки, приостановки, возобновления обслуживания. Чтобы использовать консоль, откройте командную строку или PowerShell с правами администратора и выполните одну из следующих команд.
Чтобы запустить службу:
Например, для запуска службы mysql:
Чтобы остановить службу:
Например, для остановки службы mysql:
Чтобы приостановить службу (не все службы возможно поставить на паузу!):
Чтобы возобновить службу:
Для отключения автозапуска службы:
Например, для отключения последующих запусков службы mysql:
Для включения автозапуска службы:
Например, для включения автозапуска службы mysql:
Перечисление состояний активных служб и драйверов
Перечисление только служб Win32
Для просмотра состояния определённой службы:
Например, чтобы увидеть состояние службы Apache2.4:
Управление службами Windows с помощью PowerShell
PowerShell — это среда автоматизации задач и управления конфигурацией от Microsoft. В этом разделе мы познакомим вас с тем, как управлять службами Windows через PowerShell, поскольку это намного быстрее и эффективнее, чем другие методы.
Как вы, возможно, знаете, одной из наиболее важных частей каждой операционной системы является служба, которая проходит через неё, и в целом можно сказать, что каждая часть операционной системы, которая запускается, имеет определённую службу, которой можно управлять и контролировать.
Вот подробное руководство по использованию PowerShell для управления службами Windows.
Запустите терминал PowerShell с правами администратора. Для этого нажмите Win+x и выберите Windows PowerShell (администратор):
Сначала вы должны получить список доступных служб, используя следующую команду:
Это образец вывода, который вы получите.
В выводе по умолчанию вы увидите 3 основных раздела: Status (Статус), Name (Имя) и DisplayName (Отображаемое имя). Теперь, если вы хотите найти и перечислить конкретный сервис, вы можете отфильтровать любой из параметров.
Показать все службы, названия которых начинаются с wi:
Показать все службы, отображаемые имена которых начинаются с win:
Примечание: если вы хотите получить доступ к другому компьютеру через сеть, вы можете просмотреть список служб для этой системы с помощью этой команды:
Важной частью управления услугами является управление зависимыми службами.
Чтобы получить доступ к списку DependentServices для конкретной службы, мы можем использовать следующую команду:
Вы также можете использовать параметр RequiredServices, чтобы получить список предварительных условий обслуживания.
Таким образом, с помощью приведённых выше команд мы можем найти название службы, которая вам нужна, увидеть статус и связанные службы или их предварительные условия. Теперь рассмотрим команды управления службами.
Для остановки службы с помощью PowerShell вы можете использовать следующую команду:
Последующие примеры будут показываться на службе Apache2.4. То есть в следующих командах замените «Apache2.4» на имя интересующей вас службы.
Для запуска службы в PowerShell вы можете использовать эту команду:
Одной из наиболее часто используемых команд для работы со службами является команда перезапуска службы. Структура команды перезапуска службы такова:
И наконец, следующая команда используется для временного приостановления службы.
Для изменения режима запуска службы используйте команду вида:
В качестве ТИП_ЗАПУСКА могут быть:
- Automatic — служба будет запущена или была запущена операционной системой при запуске системы. Если автоматически запускаемая служба зависит от запускаемой вручную службы, запускаемая вручную служба также запускается автоматически при запуске системы.
- AutomaticDelayedStart — запускается вскоре после загрузки системы.
- Disabled — служба отключена и не может быть запущена пользователем или приложением.
- InvalidValue — не имеет никакого эффекта. Командлет не возвращает ошибку, но StartupType службы не изменяется.
- Manual — служба запускается только вручную, пользователем, с помощью диспетчера управления службами или приложением.
Это наиболее часто используемые команды для управления службами в PowerShell. Для получения дополнительной информации о командах PowerShell и о том, как они работают, используйте команду Get-Help.
Команда SC – управление службами.
Команда SC используется для конфигурирования, опроса состояния, остановки, запуска, удаления и добавления системных служб в командной строке Windows. Большая часть подкоманд команды SC применима так же по отношению к драйверам. При наличии соответствующих прав, команда SC может применяться для управления службами как на локальной, так и на удаленной системе.
Формат командной строки:
sc сервер [команда] [имя службы] параметр1 параметр2 .
При запуске SC.EXE без параметров, отображается подсказка по использованию команды.
сервер — имя или IP-адрес удаленной системы в формате «\\cервер».
query -Запрос состояния службы или перечисление состояний типов служб.
queryex — Запрос расширенного состояния службы или перечисление состояний типов служб.
start — Запуск службы.
pause — Отправка службе управляющего запроса PAUSE для приостановки ее работы.
interrogate — Отправка службе управляющего запроса INTERROGATE.
continue — Отправка службе управляющего запроса CONTINUE для возобновления ее работы.
stop — Отправка службе запроса STOP.
config — Изменение конфигурации службы (постоянное).
description — Изменение описания службы.
failure — Изменение действия, выполняемого службой при сбое.
failureflag — Изменение флага действия, выполняемого службой при сбое.
sidtype — Изменение типа SID службы.
privs — Изменение привилегий, требуемых для службы.
qc — Запрос данных конфигурации для службы.
qdescription — Запрос описания службы.
qfailure — Запрос действия, выполняемого службой при сбое.
qfailureflag — Запрос флага действия, выполняемого службой при сбое.
qsidtype — Запрос типа SID службы.
qprivs — Запрос привилегий, требуемых для службы.
qtriggerinfo — Запрос параметров службы.
qpreferrednode — Запрос предпочтительного узла NUMA службы.
delete — Удаление службы (из реестра).
create — Создание службы (добавление ее в реестр).
control — Отправка службе управляющего сигнала.
sdshow — Отображение дескриптора безопасности службы.
sdset — Установка дескриптора безопасности службы.
showsid — Отображение строки SID службы, соответствующей произвольному имени.
triggerinfo — Настройка параметров триггеров службы.
preferrednode — Задание предпочтительного узла NUMA службы.
GetDisplayName — Получение параметра DisplayName для службы.
GetKeyName — Получение имени раздела для службы (ServiceKeyName).
EnumDepend — Перечисление зависимостей службы.
Следующие команды не требуют имени службы:
sc сервер команда параметры boot -(ok | bad) Показывает, требуется ли сохранить последнюю загрузку в качестве последней удачной конфигурации загрузки
Lock -Блокировка базы данных служб
QueryLock -Запрос состояния блокировки (LockStatus) базы данных диспетчера управления службами (SCManager)
Справка для команд QUERY и QUERYEX:
Параметры QUERY и QUERYEX:
Если после команды query указано имя службы, будет возвращено cостояние этой службы. В этом случае дополнительные параметры не используются. Если после команды запроса указаны следующие параметры либо ничего не указано, выполняется перечисление служб.
type= — Тип служб для перечисления (driver, service, all) (по умолчанию = service)
state= — Состояние служб для перечисления (inactive, all) (по умолчанию = active)
bufsize= — Размер (в байтах) буфера перечисления (по умолчанию = 4096)
ri= — Номер индекса возобновления для начала перечисления (по умолчанию = 0)
group= — Группа служб для перечисления (по умолчанию = все группы)
Примеры использования SC.
sc query — Перечислить состояния активных служб и драйверов
sc query dnscache — Отобразить состояние службы DNS-клиент, имеющей короткое имя dnscache
Пример отображаемой информации:
Тип Состояние Код_выхода_Win32 | : 20 WIN32_SHARE_PROCESS : 4 RUNNING (STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN) : 0 (0x0) : 0 (0x0) : 0x0 : 0x0 |
sc \\mycomp queryex dnscache — отображение расширенного состояния службы DNS-клиент на компьютере с именем mycomp
Пример отображаемой информации:
Имя_службы: dnscache Тип Состояние Код_выхода_Win32 | : 20 WIN32_SHARE_PROCESS : 4 RUNNING (STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN) : 0 (0x0) : 0 (0x0) : 0x0 : 0x0 : 1312 : |
sc stop dnscache — остановить службу DNS-клиент на локальном компьютере
sc start dnscache — запустить службу DNS-клиент на локальном компьютере
sc query type= driver — отобразить информацию всех активных драйверов
sc query type= service — отобразить информацию всех активных служб Windows
sc query state= all — отобразить информацию всех активных драйверов и служб Windows
Обратите внимание на наличие пробела после знака равенства (state= all …) в параметрах перечисленных команд.
sc query type= driver group= NDIS — отобразить информацию обо всех драйверах группы NDIS ( сетевых драйверах )
Пример отображаемой информации:
Имя_службы: BfLwf
Выводимое_имя: Qualcomm Atheros Bandwidth Control
Тип Состояние   Код_выхода_Win32 Код_выхода_службы Контрольная_точка Ожидание | : 1 KERNEL_DRIVER : 4 RUNNING (STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN) : 0 (0x0) : 0 (0x0) : 0x0 : 0x0 |
.
.
.
Имя_службы: wna3100m
Выводимое_имя: NETGEAR WNA3100M N300 Wireless Mini USB Adapter
Тип Состояние   Код_выхода_Win32 Код_выхода_службы Контрольная_точка Ожидание | : 1 KERNEL_DRIVER : 4 RUNNING (STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN) : 0 (0x0) : 0 (0x0) : 0x0 : 0x0 |
sc query wna3100m — отобразить информацию о драйвере NETGEAR WNA3100M N300 Wireless Mini USB Adapter.
sc query type= interact — отобразить информацию обо всех интерактивных службах.
sc query state= inactive — отобразить информацию обо всех остановленных службах
sc query state= inactive > C:\Stopedsvc.txt — записать информацию обо всех остановленных службах в текстовый файл C:\Stopedsvc.txt . Перенаправление вывода в текстовый файл удобно использовать для сохранения информации и ее последующего использования.
sc qc dnscache — отобразить данные конфигурации для службы DNS-клиент.
Пример выводимой информации:
[SC] QueryServiceConfig: успех
Имя_службы: dnscache
Тип Тип_запуска Управление_ошибками Имя_двоичного_файла Группа_запуска Тег Выводимое_имя Зависимости &bnsp Начальное_имя_службы | : 20 WIN32_SHARE_PROCESS : 2 AUTO_START : 1 NORMAL : C:\Windows\system32\svchost.exe -k NetworkService : TDI : 0 : DNS-клиент : Tdx : nsi : NT AUTHORITY\NetworkService |
sc showsid dnscache — отобразить уникальный идентификатор SID службы DNS-клиент
Для конфигурирования системных служб используется команда sc config … , выполняющая изменение записи службы в реестре и в базе данных служб.
sc сервер config [имя службы] параметр1 параметр2.
Параметры командной строки:
Имя параметра включает знак равенства (=). Между знаком равенства и значением параметра должен быть пробел.
type= own|share|interact|kernel|filesys|rec|adapt — тип службы
start= boot|system|auto|demand|disabled|delayed-auto — тип запуска службы
error= normal|severe|critical|ignore — режим обработки ошибок
binPath= путь_к_двоичному_файлу — путь и имя исполняемого файла
group= группа_запуска — группа, к которой относится драйвер.
tag= yes|no наличие признака для определения порядка запуска внутри группы
depend= зависимости (разделенные / (косой чертой)) — зависимости службы
obj= имя_учетной_записи|имя_объекта
DisplayName= выводимое имя
password= пароль
Информация о драйверах и системных службах (сервисах) находится в разделе
HKLM\SYSTEM\CurrentControlSet\Services
Каждому драйверу или сервису соответствует свой раздел. Например, «msahci» — для драйвера стандартного SATA контроллера жестких дисков, «DNScache» — для службы «DNS клиент».