Команда SC используется для конфигурирования, опроса состояния, остановки, запуска, удаления и добавления системных служб в командной строке Windows. Большая часть подкоманд команды SC применима так же по отношению к драйверам. При наличии соответствующих прав, команда SC может применяться для управления службами как на локальной, так и на удаленной системе.

1. Описание команды SC.

1.1. Формат командной строки:

C:\ sc сервер [команда] [имя службы] параметр1 параметр2 ...

При запуске SC.EXE без параметров, отображается подсказка по использованию команды.

1.2. Параметры:

  • сервер — имя или 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= — Группа служб для перечисления (по умолчанию = все группы)

2. Примеры использования SC.

2.1. Перечислить состояния активных служб и драйверов:

C:\ sc query

2.2. Отобразить состояние службы DNS-клиент, имеющей короткое имя dnscache:

C:\ sc query dnscache

Пример отображаемой информации:

Имя_службы: dnscache

Тип
Состояние

Код_выхода_Win32
Код_выхода_службы
Контрольная_точка
Ожидание
: 20 WIN32_SHARE_PROCESS
: 4 RUNNING
(STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN)
: 0 (0x0)
: 0 (0x0)
: 0x0
: 0x0

2.3. Отображение расширенного состояния службы DNS-клиент на компьютере с именем mycomp:

C:\ sc \\mycomp queryex dnscache

Пример отображаемой информации:

Имя_службы: dnscache
Тип
Состояние

Код_выхода_Win32
Код_выхода_службы
Контрольная_точка
Ожидание
ID_процесса
Флаги
: 20 WIN32_SHARE_PROCESS
: 4 RUNNING
(STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN)
: 0 (0x0)
: 0 (0x0)
: 0x0
: 0x0
: 1312
:

2.4. Остановить службу DNS-клиент на локальном компьютере:

C:\ sc stop dnscache

2.5 Запустить службу DNS-клиент на локальном компьютере:

C:\ sc start dnscache

2.6. Отобразить информацию всех активных драйверов:

C:\ sc query type= driver

2.7. Отобразить информацию всех активных служб Windows:

C:\ sc query type= service

2.8. Отобразить информацию всех активных драйверов и служб Windows:

C:\ sc query state= all

Обратите внимание на наличие пробела после знака равенства (state= all …) в параметрах перечисленных команд.

2.9. Отобразить информацию обо всех драйверах группы NDIS ( сетевых драйверах ):

C:\ sc query type= driver group= 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

2.10. Отобразить информацию о драйвере NETGEAR WNA3100M N300 Wireless Mini USB Adapter:

C:\ sc query wna3100m

2.11. Отобразить информацию обо всех интерактивных службах:

C:\ sc query type= interact

2.12. Отобразить информацию обо всех остановленных службах:

C:\ sc query state= inactive

2.13. Pаписать информацию обо всех остановленных службах в текстовый файл C:\Stopedsvc.txt:

C:\ sc query state= inactive > C:\Stopedsvc.txt

Перенаправление вывода в текстовый файл удобно использовать для сохранения информации и ее последующего использования.

2.14. Отобразить данные конфигурации для службы DNS-клиент:

C:\ sc qc dnscache

Пример выводимой информации:

[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

2.15. Отобразить уникальный идентификатор SID службы DNS-клиент:

C:\ sc showsid dnscache

Для конфигурирования системных служб используется команда sc config … , выполняющая изменение записи службы в реестре и в базе данных служб.

Командная строка:

C:\ 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 клиент».