Команда 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 клиент».