Команда SC – управление службами.


Прислал: Admin [ 22.11.2016 @ 16:55 ]
Раздел:: [ Windows ]


Команда 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 query - Перечислить состояния активных служб и драйверов

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

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

Имя_службы: 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
Код_выхода_службы
Контрольная_точка
Ожидание
ID_процесса
Флаги
: 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 клиент".