# sc
ОПИСАНИЕ:
SC представляет собой программу командной строки, используемую
для связи со службами и диспетчером управления службами.
ИСПОЛЬЗОВАНИЕ:
sc <сервер> [команда] [имя_службы] <параметр1> <параметр2>...
Параметр <сервер> задается в формате "\\имя_сервера".
Для получения справки о командах введите "sc [команда]"
Команды:
query-----------Запрашивает состояние службы или перечисляет
состояния типов служб.
queryex---------Запрашивает расширенное состояние службы или
перечисляет состояния типов служб.
start-----------Запускает службу.
pause-----------Отправляет службе управляющий запрос PAUSE.
interrogate-----Отправляет службе управляющий запрос INTERROGATE.
continue--------Отправляет службе управляющий запрос CONTINUE.
stop------------Отправляет службе запрос STOP.
config----------Изменяет конфигурацию службы (с сохранением).
description-----Изменяет описание службы.
failure---------Изменяет действие, выполняемое службой при сбое.
failureflag-----Изменяет флаг действия, выполняемого службой при сбое.
sidtype---------Изменяет тип SID службы.
privs-----------Изменяет привилегии, требуемые для службы.
managedaccount--Изменяет службу для пометки пароля учетной записи
службы как управляемого LSA.
qc--------------Запрашивает данные конфигурации для службы.
qdescription----Запрашивает описание службы.
qfailure--------Запрашивает действия, выполняемые службой при сбое.
qfailureflag----Запрашивает флаг действия, выполняемого службой при сбое.
qsidtype--------Запрашивает тип SID службы.
qprivs----------Запрашивает привилегии, требуемые для службы.
qtriggerinfo----Запрашивает параметры триггеров службы.
qpreferrednode--Запрашивает предпочтительный узел NUMA службы.
qmanagedaccount-Запрашивает, использует ли служба учетную запись с
паролем, управляемым LSA.
qprotection-----Запрашивает уровень защиты процессов службы.
quserservice----Запрашивает локальный экземпляр шаблона службы пользователя.
delete----------Удаляет службу (из реестра).
create----------Создает службу (добавляет ее в реестр).
control---------Отправляет службе управляющий сигнал.
sdshow----------Отображает дескриптор безопасности службы.
sdset-----------Устанавливает дескриптор безопасности службы.
showsid---------Отображает строку SID службы, которая соответствует произвольному имени.
triggerinfo-----Задает параметры триггеров службы.
preferrednode---Задает предпочтительный узел NUMA службы.
GetDisplayName--Получает параметр DisplayName для службы.
GetKeyName------Получает имя раздела для службы (ServiceKeyName).
EnumDepend------Перечисляет зависимости службы.
Следующие команды не требуют имени службы:
sc <сервер> <команда> <параметр>
boot------------(ok | bad) Указывает, требуется ли сохранить
последнюю загрузку в качестве последней удачной конфигурации загрузки
Lock------------Блокирует базу данных служб
QueryLock-------Запрашивает состояние блокировки (LockStatus) базы данных диспетчера управления службами (SCManager)
ПРИМЕР:
sc start MyService
Параметры QUERY и QUERYEX:
Если после команды query указано имя службы, будет возвращено
состояние этой службы. В этом случае дополнительные параметры
не используются. Если после команды query указаны следующие
параметры либо ничего не указано, выполняется перечисление служб.
type= Тип служб для перечисления (driver, service, userservice, all)
(по умолчанию = service)
state= Состояние служб для перечисления (inactive, all)
(по умолчанию = active)
bufsize= Размер (в байтах) буфера перечисления
(по умолчанию = 4096)
ri= Номер индекса возобновления для начала перечисления
(по умолчанию = 0)
group= Группа служб для перечисления
(по умолчанию = все группы)
Примеры использования:
sc query - Перечисление состояний активных служб и драйверов
sc query eventlog - Отображение состояния службы eventlog
sc queryex eventlog - Отображение расширенного состояния службы eventlog
sc query type= driver - Перечисление только активных драйверов
sc query type= service - Перечисление только служб Win32
sc query state= all - Перечисление всех служб и драйверов
sc query bufsize= 50 - Перечисление с буфером размером 50 байт
sc query ri= 14 - Перечисление с индексом возобновления = 14
sc queryex group= "" - Перечисление активных служб, не входящих в группу
sc query type= interact - Перечисление всех интерактивных служб
sc query type= driver group= NDIS - Перечисление всех драйверов NDIS
Кавычки внутри параметров нужно экранировать \
Пример (с экранированием кавычек и тп):
sc create "1С:Предприятие 8.3 Server Agent BitFinans test" binPath= "\"C:\Program Files\1cv8\8.3.7.1860\bin\ragent.exe\" -srvc -agent -regport 4541 -port 4540 -range 4560:4591 -d \"C:\Program Files (x86)\1cv8\srvinfobittest"" start= auto displayname= "1С:Предприятие 8.3 Server Agent BitFinans test" obj= ".\Администратор" password= "passwd"
sc description "1С:Предприятие 8.3 Server AgentBitFinans test" "Тестовый кластер 1С BitFinans"
sc start "1С:Предприятие 8.3 Server Agent BitFinans test"
Пример покороче
sc create "FakeSMTP" binPath= "D:\Soft\Fakesmtp\npm\fake-smtp-server.cmd" start= auto displayname= "FakeSMTP" obj= "LocalSystem"
Позволяет создать сервис из того, что и не думало быть сервисом. В том числе переправить stdin/out/err в файлы логов.
Команда установки nssm install, в ней гуй для настроек. В принципе можно забить все в командную строку, тогда гуя не будет и можно использовать в скриптах