Взаимодействует с контроллером служб и установленными службами. SC.exe извлекает и задает сведения об управлении службами. Программа SC.exe используется для тестирования и отладки служебных программ. Параметры службы, хранящиеся в реестре, можно настроить так, чтобы контролировать запуск приложений службы во время загрузки и их выполнение как фоновых процессов. С помощью параметров SC.exe имеется возможность настроить конкретную службу, отобразить текущее состояние службы, остановить и запустить службу. Чтобы автоматизировать запуск и завершение работы последовательности служб, создаются пакетные файлы, вызывающие различные команды SC.exe. SC.exe предоставляет возможности, сходные с возможностями средства «Службы» в элементе «Администрирование» панели управления.
Для просмотра синтаксиса команды щелкните одну из следующих команд sc.
sc boot
Определяет сохранение последней загрузки как последней удачной конфигурации.
Синтаксис
sc [имя_сервера] boot [{bad|OK}]
Параметры
имя_сервера Задает имя удаленного сервера, на котором находится служба. В имени следует использовать формат UNC (Universal Naming Convention) («\\myserver»). Чтобы запустить SC локально, этот параметр следует пропустить. [{bad|OK}] Определяет последнюю загрузку как неудачную или задает сохранение последней загрузки в качестве последней удачной конфигурации. /? Отображает справку в командной строке.
Примеры
Далее приведены примеры использования команды sc boot.
sc boot ok
sc boot bad
sc config
Изменяет значение записей службы в реестре и в базе данных диспетчера служб.
Синтаксис
sc [имя_сервера] config [имя_службы] [type= {own|share|kernel|filesys|rec|adapt|interact type= {own|share}}] [start= {boot|system|auto|demand|disabled}] [error= {normal|severe|critical|ignore}] [binpath= имя_двоичного_пути] [group= группа_порядка_загрузки] [tag= {yes|no}] [depend= зависимости] [obj= {имя_учетной_записи|имя_объекта}] [displayname= отображаемое_имя] [password= пароль]
Параметры
имя_сервера Задает имя удаленного сервера, на котором находится служба. В имени следует использовать формат UNC (Universal Naming Convention) («\\myserver»). Чтобы запустить SC локально, этот параметр следует пропустить. имя_службы Указывает имя службы, возвращенное операцией getkeyname. type= {own|share|kernel|filesys|rec|adapt|interact type= {own|share}} Указывает тип службы.
Значение
Описание
own
Служба выполняется в собственном процессе. Она не использует исполняемый файл совместно с другими службами. Эта установка используется по умолчанию
share
Служба выполняется как общий процесс. Она использует исполняемый файл совместно с другими службами
kernel
Драйвер
filesys
Драйвер файловой системы
rec
Драйвер, определяющий файловую систему (указывает файловые системы, используемые на компьютере)
adapt
Драйвер устройства (определяет элементы оборудования, например клавиатуру, мышь или дисковод)
interact
Служба может взаимодействовать с рабочим столом, получая входные данные от пользователей. Интерактивные службы должны выполняться с системной учетной записью. Этот тип должен использоваться вместе с type= own или type= shared (например, type= interact type= own). Самостоятельное использование типа type= interact приведет к ошибке недопустимого параметра
start= {boot|system|auto|demand|disabled} Указывает тип запуска для службы.
Значение
Описание
boot
Драйвер устройства, который загружается загрузчиком системы.
system
Драйвер устройства, который запускается при инициализации ядра.
auto
Служба, которая автоматически запускается при каждой перезагрузке компьютера и даже в том случае, если на компьютер не вошел ни один пользователь
demand
Служба, которая должна запускаться вручную. Это значение используется по умолчанию, если не указан параметр start=
disabled
Служба, которую нельзя запустить. Чтобы запустить отключенную службу, выберите другой тип запуска
error= {normal|severe|critical|ignore} Указывает серьезность ошибки, если служба не запускается при загрузке.
Значение
Описание
normal
Ошибка записывается в журнал и выводится окно сообщения, информирующее пользователя об отказе при запуске службы. Запуск будет продолжен. Это устанавливается по умолчанию
severe
Ошибка заносится в журнал (если это возможно). Компьютер пытается перезагрузиться в последней удачной конфигурации. Компьютер можно будет перезагрузить, но выполнить службу, возможно, не удастся
critical
Ошибка заносится в журнал (если это возможно). Компьютер пытается перезагрузиться в последней удачной конфигурации. Если имеет место отказ последней правильной конфигурации, запуск также приведет к отказу и процесс загрузки остановится на ошибке
ignore
Ошибка заносится в журнал и запуск продолжается. Ошибка записывается в журнал ошибок и другие уведомления пользователю не выводятся
binpath= имя_двоичного_пути Указывает путь в двоичном файле службы group= группа_порядка_загрузки Указывает имя группы, членом которой является эта служба. Список групп сохраняется в реестре в подразделе HKLM\System\CurrentControlSet\Control\ServiceGroupOrder. Значение по умолчанию является пустым tag= {yes|no} Указывает, следует ли получить код TagID из вызова CreateService. Теги используются только драйверами, запускающимися при загрузке или запуске системы depend= зависимости Указывает имена служб и групп, которые должны быть запущены раньше данной службы. Имена разделяются косой чертой (/) obj= {имя_учетной_записи|имя_объекта} Указывает имя учетной записи, для которой будет выполняться служба, или имя объекта драйвера Windows, в котором будет запущен драйвер. По умолчанию установленое имя учетной записи — Локальная система. displayname= отображаемое_имя Определяет понятное, точное имя для службы, которое используется в программах пользовательского интерфейса. Например, имя раздела службы «wuaserv» не очень понятно пользователю, а отображаемое имя — «Автоматическое обновление». password= пароль Задает пароль. Данный параметр требуется при использовании учетной записи, отличной от учетной записи «Локальная система». /? Отображает справку в командной строке.
Примечания
Если между параметром и его значением НЕТ пробела (например type=own вместо type= own), то произойдет сбой операции.
Примеры
Далее приведены примеры использования команды sc config.
sc config NewService binpath= «ntsd -d c:\windows\system32\NewServ.exe»
sc continue
Чтобы возобновить остановленную службу, отправляет службе запрос CONTINUE.
Синтаксис
sc [имя_сервера] continue [имя_службы]
Параметры
имя_сервера Задает имя удаленного сервера, на котором находится служба. В имени следует использовать формат UNC («\\myserver»). Чтобы запустить SC локально, этот параметр следует пропустить. имя_службы Указывает имя службы, возвращенное операцией getkeyname. /? Отображает справку в командной строке.
Примечания
Используйте операцию continue для возобновления работы остановленной службы.
Примеры
Далее приведены примеры использования команды sc continue.
sc continue tapisrv
sc control
Отправляет службе код CONTROL B.
Синтаксис
sc [имя_сервера] control [имя_службы] [{paramchange|netbindadd|netbindremove| netbindenable|netbinddisable|пользовательский_управляющий_код}]
Параметры
имя_сервера Задает имя удаленного сервера, на котором находится служба. В имени следует использовать формат UNC («\\myserver»). Чтобы запустить SC локально, этот параметр следует пропустить. имя_службы Указывает имя службы, возвращенное операцией getkeyname. {paramchange|netbindadd| netbindremove|netbindenable|netbinddisable| пользовательский_управляющий_код} Задает управляющий код, который посылается службе. /? Отображает справку в командной строке.
sc create
Создает раздел и записи службы в реестре и в базе данных диспетчера служб.
Синтаксис
sc [имя_сервера] create [имя_службы] [type= {own|share|kernel|filesys|rec|adapt|interact type= {own|share}}] [start= {boot|system|auto|demand|disabled}] [error= {normal|severe|critical|ignore}] [binpath= имя_двоичного_пути] [group= группа_порядка_загрузки] [tag= {yes|no}] [depend= зависимости] [obj= {имя_учетной_записи|имя_объекта}] [displayname= отображаемое_имя] [password= пароль]
Параметры
имя_сервера Задает имя удаленного сервера, на котором находится служба. В имени следует использовать формат UNC («\\myserver»). Чтобы запустить SC локально, этот параметр следует пропустить. имя_службы Указывает имя службы, возвращенное операцией getkeyname. type= {own|share|kernel|filesys|rec|adapt|interact type= {own|share}} Указывает тип службы. Тип по умолчанию type= own.
Значение
Описание
own
Служба выполняется в собственном процессе. Она не использует исполняемый файл совместно с другими службами. Эта установка используется по умолчанию
share
Служба выполняется как общий процесс. Она использует исполняемый файл совместно с другими службами
kernel
Драйвер
filesys
Драйвер файловой системы
rec
Драйвер, определяющий файловую систему (указывает файловые системы, используемые на компьютере)
interact
Служба может взаимодействовать с рабочим столом, получая входные данные от пользователей. Интерактивные службы должны выполняться с системной учетной записью. Этот тип должен использоваться вместе с type= own или type= shared (например, type= interact type= own). Самостоятельное использование типа type= interact приведет к ошибке недопустимого параметра
start= {boot|system|auto|demand|disabled} Указывает тип запуска для службы. Тип запуска по умолчанию start= demand.
boot
Драйвер устройства, который загружается загрузчиком системы
system
Драйвер устройства, который запускается при инициализации ядра
auto
Служба, которая автоматически запускается при каждой перезагрузке компьютера и даже в том случае, если на компьютер не вошел ни один пользователь
demand
Служба, которая должна запускаться вручную. Это значение используется по умолчанию, если не указан параметр start=
disabled
Служба, которую нельзя запустить. Чтобы запустить отключенную службу, выберите другой тип запуска
error= {normal|severe|critical|ignore} Указывает серьезность ошибки, если служба не запускается при загрузке. Значение параметра по умолчанию error= normal.
normal
Ошибка записывается в журнал и выводится окно сообщения, информирующее пользователя об отказе при запуске службы. Запуск будет продолжен. Это устанавливается по умолчанию
severe
Ошибка заносится в журнал (если это возможно). Компьютер пытается перезагрузиться в последней удачной конфигурации. Компьютер можно будет перезагрузить, но выполнить службу, возможно, не удастся
critical
Ошибка заносится в журнал (если это возможно). Компьютер пытается перезагрузиться в последней удачной конфигурации. Если имеет место отказ последней правильной конфигурации, запуск также приведет к отказу и процесс загрузки остановится на ошибке
ignore
Ошибка заносится в журнал и запуск продолжается. Ошибка записывается в журнал ошибок и другие уведомления пользователю не выводятся
binpath= имя_двоичного_пути Указывает путь в двоичном файле службы. Значение по умолчанию для параметра binpath= не задано. Эту строку необходимо указать. group= группа_порядка_загрузки Указывает имя группы, членом которой является эта служба. Список групп сохраняется в реестре в подразделе HKLM\System\CurrentControlSet\Control\ServiceGroupOrder. Значение по умолчанию является пустым. tag= {yes|no} Указывает, следует ли получить код TagID из вызова CreateService. Теги используются только драйверами, запускающимися при загрузке или запуске системы. depend= зависимости Указывает имена служб и групп, которые должны быть запущены раньше данной службы. Имена разделяются косой чертой (/). obj= {имя_учетной_записи|имя_объекта} Указывает имя учетной записи, для которой будет выполняться служба, или имя объекта драйвера Windows, в котором будет запущен драйвер displayname= отображаемое_имя Определяет понятное, точное имя для службы, которое используется в программах пользовательского интерфейса. password= пароль Задает пароль. Данный параметр требуется при использовании учетной записи, отличной от учетной записи «Локальная система». /? Отображает справку в командной строке.
Примечания
Если между параметром и его значением имеется пробел (например type= own вместо type=own) произойдет сбой операции.
Примеры
Далее приведены примеры использования команды sc create.
sc \\myserver create NewService binpath= c:\windows\system32\NewServ.exe
sc create NewService binpath= c:\windows\system32\NewServ.exe type= share start= auto depend= «+TDI Netbios»
sc delete
Удаляет раздел службы из реестра. Если служба выполняется или другой процесс использует эту службу, она помечается для удаления.
Синтаксис
sc [имя_сервера] delete [имя_службы]
Параметры
имя_сервера Задает имя удаленного сервера, на котором находится служба. В имени следует использовать формат UNC («\\myserver»). Чтобы запустить SC локально, этот параметр следует пропустить. имя_службы Указывает имя службы, возвращенное операцией getkeyname. /? Отображает справку в командной строке.
Примечания
Для удаления служб DHCP, DNS и других встроенных в операционную систему служб используйте средство «Установка и удаление программ». Средство «Установка и удаление программ» не только удаляет раздел реестра для службы, но и службу, и ярлыки этой службы.
Примеры
Далее приведены примеры использования команды sc delete.
sc delete newserv
sc description
Задает строку описания для службы.
Синтаксис
sc [имя_сервера] description [имя_службы] [описание]
Параметры
имя_сервера Задает имя удаленного сервера, на котором находится служба. В имени следует использовать формат UNC («\\myserver»). Чтобы запустить SC локально, этот параметр следует пропустить. имя_службы Указывает имя службы, возвращенное операцией getkeyname. описание Задает описание для конкретной службы. Если строка не указана, описание службы не изменяется. Количество символов в строке описания службы неограниченно. /? Отображает справку в командной строке.
Примеры
Далее приведены примеры использования команды sc description.
sc description newserv «Runs quality of service control.»
sc enumdepend
Выводит список служб, которые не могут выполнятся, пока запущена определенная служба.
Синтаксис
sc [имя_сервера] enumdepend [имя_службы] [размер_буфера]
Параметры
имя_сервера Задает имя удаленного сервера, на котором находится служба. В имени следует использовать формат UNC («\\myserver»). Чтобы запустить SC локально, этот параметр следует пропустить. имя_службы Указывает имя службы, возвращенное операцией getkeyname. размер_буфера Задает размер буфера перечисления в байтах. Значение по умолчанию равно 1024 байта. /? Отображает справку в командной строке.
Примечания
Если размер буфера небольшой, операция enumdepend выводит зависимости только частично и указывает размер дополнительного буфера, который необходим для вывода всех зависимостей. Запустите операцию повторно и укажите больший размер буфера, если вывод обрезается.
Примеры
Далее приведены примеры использования команды sc enumdepend.
sc enumdepend rpcss 5690
sc enumdepend tapisrv
sc failure
Определяет действия, которые надо предпринять при сборе работы службы.
Синтаксис
sc [имя_сервера] failure [имя_службы] [reset= интервал_без_ошибок] [reboot= широковещательное_сообщение] [command= командная_строка] [actions= действия_при_сбое_и_время_задержки]
Параметры
имя_сервера Задает имя удаленного сервера, на котором находится служба. В имени следует использовать формат UNC («\\myserver»). Чтобы запустить SC локально, этот параметр следует пропустить. имя_службы Указывает имя службы, возвращенное операцией getkeyname. reset= интервал_без_ошибок Задает период времени работы службы без ошибок (в секундах), после которого счетчик ошибок сбрасывается в 0. Данный параметр должен использоваться совместно с параметром actions=. reboot= широковещательное_сообщение Определяет сообщение для широковещательной рассылки при сбое работы службы. command= командная_строка Определяет командную строку для запуска при сбое работы службы. Дополнительные сведения о запуске пакетных и VBS файлов при сбое см. разделе «Примечания». actions= действия_при_сбое_и_время_задержки Указывает действия при сбое и время задержки (в миллисекундах), отделенные косой чертой (/). Допустимы следующие действия: run, restart и reboot. Этот ключ не может быть использован с параметром reset=. Чтобы не предпринимать никаких действий при сбое, используйте параметр actions= «». /? Отображает справку в командной строке.
Примечания
Изменить параметры при сбое можно не для всех служб. Некоторые из них выполняются как набор служб.
Чтобы запустить пакетный файл после сбоя, укажите в параметре command=: cmd.exe диск:\имя_файла.bat, где диск:\имя_файла.bat — полное имя пакетного файла.
Чтобы запустить файл VBS после сбое, для параметра command= укажите следующее: диск:\мой_сценарий.vbs, где диск:\мой_сценарий.vbs — полное имя файла сценария.
По возможности определите три различных действия для параметра actions=, которые будут использоваться при первом, втором и третьем отказах службы.
Если между параметром и его значением имеется пробел (например type= own вместо type=own) произойдет сбой операции.
Примеры
Далее приведены примеры использования команды sc failure.
sc failure msftpsvc reset= 30 actions= restart/5000
sc failure dfs reset= 60 command= c:\windows\services\restart_dfs.exe actions= run/5000
sc failure dfs reset= 60 actions= reboot/30000
sc failure dfs reset= 60 reboot= «Отказ работы службы распределенной файловой системы (DFS). Поэтому через 30 секунд будет произведена перезагрузка компьютера.» actions= reboot/30000
sc failure myservice reset= 3600 reboot= «Сбой службы «MyService» — перезагрузка машины» command= «%windir%\MyServiceRecovery.exe» actions= restart/5000/run/10000/reboot/60000
sc getdisplayname
Получает отображаемое имя определенной службы.
Синтаксис
sc [имя_сервера] getdisplayname [имя_службы] [размер_буфера]
Параметры
имя_сервера Задает имя удаленного сервера, на котором находится служба. В имени следует использовать формат UNC («\\myserver»). Чтобы запустить SC локально, этот параметр следует пропустить. имя_службы Указывает имя службы, возвращенное операцией getkeyname. размер_буфера Задает размер буфера в байтах. Значение по умолчанию равно 1024 байта. /? Отображает справку в командной строке.
Примеры
Далее приведены примеры использования команды sc getdisplayname.
sc getdisplayname clipsrv
sc getdisplayname tapisrv
sc getdisplayname sharedaccess
sc getkeyname
Выводит имя раздела, соответствующего определенной службы, используя отображаемое имя как входящие данные.
Синтаксис
sc [имя_сервера] getkeyname [отображаемое_имя_службы] [размер_буфера]
Параметры
имя_сервера Задает имя удаленного сервера, на котором находится служба. В имени следует использовать формат UNC («\\myserver»). Чтобы запустить SC локально, этот параметр следует пропустить. отображаемое_имя_службы Указывает отображаемое имя службы. размер_буфера Задает размер буфера в байтах. Значение по умолчанию равно 1024 байта. /? Отображает справку в командной строке.
Примечания
Если отображаемое_имя_службы содержит пробелы, его следует заключать в кавычки (т. е. «отображаемое имя службы»).
Примеры
Далее приведены примеры использования команды sc getkeyname.
sc getkeyname «удаленный вызов процедур (rpc)»
sc getkeyname «общий доступ к подключению к Интернету»
sc getkeyname «папка обмена»
sc interrogate
Посылает службе запрос INTERROGATE.
Синтаксис
sc [имя_сервера] interrogate [имя_службы]
Параметры
имя_сервера Задает имя удаленного сервера, на котором находится служба. В имени следует использовать формат UNC («\\myserver»). Чтобы запустить SC локально, этот параметр следует пропустить. имя_службы Указывает имя службы, возвращенное операцией getkeyname. /? Отображает справку в командной строке.
Примечания
Отправление запроса INTERROGATE влечет за собой обновление состояния службы с помощью диспетчера служб.
Примеры
Далее приведены примеры использования команды sc interrogate.
sc interrogate sharedaccess
sc interrogate rpcss
sc lock
Блокирует базу данных диспетчера служб.
Синтаксис
sc [имя_сервера] lock
Параметры
имя_сервера Задает имя удаленного сервера, на котором находится служба. В имени следует использовать формат UNC («\\myserver»). Чтобы запустить SC локально, этот параметр следует пропустить. /? Отображает справку в командной строке.
Примечания
Блокирование базы данных диспетчера служб препятствует запуску любой службы. Используйте эту операцию, чтобы убедиться, что служба не будет запущена после остановки. Это позволяет выполнить некоторые действия (например, удалить службу) без помех.
Использование операции lock приводит к блокированию базы данных диспетчера служб; ввод u позволяет разблокировать базу данных. Имеется возможность удалить процесс, из которого была блокирована база данных.
Примеры
Далее приведены примеры использования команды sc lock.
sc lock
sc pause
Посылает службе запрос PAUSE.
Синтаксис
sc [имя_сервера] pause [имя_службы]
Параметры
имя_сервера Задает имя удаленного сервера, на котором находится служба. В имени следует использовать формат UNC («\\myserver»). Чтобы запустить SC локально, этот параметр следует пропустить. имя_службы Указывает имя службы, возвращенное операцией getkeyname. /? Отображает справку в командной строке.
Примечания
Используйте операцию pause для приостановки службы перед завершением ее работы.
Не все службы могут быть приостановлены.
Не все службы выполняют одинаковые действия в процессе приостановки. Некоторые продолжают обслуживать текущих клиентов и отказываются принять новых. Другие службы прекращают обслуживать существующих клиентов и отказываются принять новых.
Примеры
Далее приведены примеры использования команды sc pause.
sc pause tapisrv
sc qc
Запрашивает сведения о конфигурации службы.
Синтаксис
sc [имя_сервера] qc [имя_службы] [размер_буфера]
Параметры
имя_сервера Задает имя удаленного сервера, на котором находится служба. В имени следует использовать формат UNC («\\myserver»). Чтобы запустить SC локально, этот параметр следует пропустить. имя_службы Указывает имя службы, возвращенное операцией getkeyname. размер_буфера Задает размер буфера в байтах. Значение по умолчанию равно 1024 байта. /? Отображает справку в командной строке.
Примечания
С помощью операции qc на экран выводится следующая информация о службе: SERVICE_NAME (имя раздела реестра для службы), TYPE, ERROR_CONTROL, BINARY_PATH_NAME, LOAD_ORDER_GROUP, TAG, DISPLAY_NAME, DEPENDENCIES и SERVICE_START_NAME.
Администратор может использовать SC, чтобы определить двоичное имя любой службы и выяснить, использует ли служба процесс совместно с другими службами. Для этого введите следующую команду:
sc qc имя_службы
С помощью SC можно сопоставить службы в узле «Службы» консоли ММС процессам в программе «Системный монитор». Если двоичное имя службы — Services.exe, значит, служба имеет общий доступ к процессу контроллера службы.
Services.exe запускает все службы. Чтобы сэкономить системные ресурсы, несколько служб Win32, разработанные для Windows, совместно используют процесс Services.exe. Эти службы не указаны в качестве отдельных процессов в средствах «Системный монитор» и «Диспетчер задач». Это верно и для процесса Svchost.exe, являющийся базовым процессом службы, который совместно используется множеством работающих служб.
Может не существовать процесса для каждой службы Win32, потому что третья часть этих служб настроена на совместное использование процессов. SC можно использовать для получения сведений о конфигурации этих служб. Если служба не использует процесс совместно с другими службами, в программе «Системный монитор» во время выполнения службы существует процесс для нее.
Команды SС полезны разработчикам служб, потому что предоставляют более подробные и точные сведения о службах, чем программа Services.exe, которая включена в Windows. Services.exe определяет запущена служба, остановлена или приостановлена. Хотя этих средств достаточно для отлаженного приложения, которое выполняется безошибочно, сведения, предоставляемые ими о разработанной службе, могут ввести в заблуждение. Например, служба, которая запускается, отображена как запущенная, независимо от того, действительно ли она выполняется или нет.
SC реализует вызовы ко всем функциям интерфейса API управления службами Windows. Настроить параметры для этих функций можно, задав их в командной строке.
С помощью средства SC имеется возможность запросить состояние службы и получить значения, хранящиеся в полях структуры состояний. Services.exe не выводит полное состояние службы, а средства SC отображают точное состояние службы, а также номер последней контрольной точки и сведения о состоянии ожидания. Контрольную точку можно использовать как средство отладки, потому что она показывает путь инициализации до момента, когда программа перестала отвечать. SC позволяет задавать имя удаленного компьютера, что дает возможность вызвать функции интерфейса API службы и посмотреть структуры состояния службы на удаленном компьютере.
Примеры
Далее приведены примеры использования команды sc qc.
sc qc \\myserver newsrvice
sc qc rpcss 248
sc qdescription
Выводит на экран строку описания службы.
Синтаксис
sc [имя_сервера] qdescription [имя_службы] [размер_буфера]
Параметры
имя_сервера Задает имя удаленного сервера, на котором находится служба. В имени следует использовать формат UNC («\\myserver»). Чтобы запустить SC локально, этот параметр следует пропустить. имя_службы Указывает имя службы, возвращенное операцией getkeyname. размер_буфера Задает размер буфера в байтах. Значение по умолчанию равно 1024 байта. /? Отображает справку в командной строке.
Примеры
Далее приведены примеры использования команды sc qdescription.
sc qdescription rpcss
sc qdescription rpcss 138
sc qfailure
Выводит на экран действия, которые будут выполняться при отказе работы службы.
Синтаксис
sc [имя_сервера] qfailure [имя_службы] [размер_буфера]
Параметры
имя_сервера Задает имя удаленного сервера, на котором находится служба. В имени следует использовать формат UNC («\\myserver»). Чтобы запустить SC локально, этот параметр следует пропустить. имя_службы Указывает имя службы, возвращенное операцией getkeyname. размер_буфера Задает размер буфера в байтах. Значение по умолчанию равно 1024 байта. /? Отображает справку в командной строке.
Примечания
Операция qfailure выводит на экран следующие сведения о службе: SERVICE_NAME (имя раздела реестра для службы), RESET_PERIOD, REBOOT_MESSAGE, COMMAND_LINE и FAILURE_ACTIONS.
Примеры
Далее приведены примеры использования команды sc qfailure.
sc qfailure rpcss
sc qfailure rpcss 20
sc query
Получает и отображает сведения о конкретной службе, драйвере, типе службы или типе драйвера.
Синтаксис
sc [имя_сервера] query [имя_службы] [type= {driver|service|all}] [type= {own|share|interact|kernel|filesys|rec|adapt}] [state= {active|inactive|all}] [bufsize= размер_буфера] [ri= индекс_возобновления] [group= имя_группы]
Параметры
имя_сервера Задает имя удаленного сервера, на котором находится служба. В имени следует использовать формат UNC («\\myserver»). Чтобы запустить SC локально, этот параметр следует пропустить. имя_службы Указывает имя службы, возвращенное операцией getkeyname. Данный параметр операции query не используется совместно с другими параметрами этой операции (отличными от параметра имя_сервера). type= {driver|service|all} Указывает объекты для перечисления. Тип по умолчанию service.
Значение
Описание
driver
Указывает перечисление только драйверов
service
Указывает перечисление только служб
all
Указывает перечисление драйверов и служб
type= {own|share|interact|kernel|filesys|rec|adapt} Указывает тип драйверов и тип служб для перечисления.
Значение
Описание
own
Служба выполняется в собственном процессе. Она не использует исполняемый файл совместно с другими службами. Эта установка используется по умолчанию
share
Служба выполняется как общий процесс. Она использует исполняемый файл совместно с другими службами
interact
Служба может взаимодействовать с рабочим столом, получая входные данные от пользователей. Интерактивные службы должны выполняться с системной учетной записью
kernel
Драйвер
filesys
Драйвер файловой системы
state= {active|inactive|all} Указывает состояние запуска службы, которая включается в перечисление. По умолчанию active.
Значение
Описание
active
Указывает все активные службы
inactive
Указывает все приостановленные или остановленные службы
all
Указывает все службы
bufsize= размер_буфера Задает размер буфера перечисления в байтах. По умолчанию размер пакета равен 1024 байтам. Увеличьте размер буфера перечисление, когда вывод результатов запроса превышает 1024 байтов. ri= индекс_возобновления Указывает номер индекса, с которого начинается или возобновляется перечисление. Номер по умолчанию равен 0. Когда в ответ на запрос выведено больше сведений, чем буфер может отобразить по умолчанию, используйте данный параметр совместно с параметром bufsize=. group= имя_группы Указывает группу служб для перечисления. По умолчанию выбираются все группы. /? Отображает справку в командной строке.
Примечания
Если между параметром и его значением имеется пробел (например type= own вместо type=own) произойдет сбой операции.
Операция query отображает следующие сведения о службе: SERVICE_NAME (имя раздела реестра для службы), TYPE, STATE (а также состояния, которые недоступны), WIN32_EXIT_B, SERVICE_EXIT_B, CHECKPOINT и WAIT_HINT.
В некоторых случаях параметр type= может использоваться дважды. Первое появление параметра type= указывает, следует ли запрашивать службы, драйверы или и то и другое. Второе появление параметра type= указывает тип из операции create для дальнейшего сужения области запроса.
Когда вывод результата команды query превышает размер буфера перечисления, выводится следующее сообщение:
Enum: more data, need 1822 bytes start resume at index 79
Чтобы вывести на экран оставшиеся сведения результата команды query, повторно выполните команду query, указав в параметре bufsize= количество байтов и конкретный индекс в параметре ri=. Например, оставшиеся выходные данные можно вывести на экран с помощью следующей команды.
sc query bufsize= 1822 ri= 79
Примеры
Далее приведены примеры использования команды sc query.
sc query
sc query messenger
sc query type= driver
sc query type= service
sc query state= all
sc query bufsize= 50
sc query ri= 14
sc query type= service type= interact
sc query type= driver group= ndis
sc queryex
Получает и отображает подробные сведения о конкретной службе, драйвере, типе службы или типе драйвера.
Синтаксис
sc [имя_сервера] queryex [type= {driver|service|all}] [type= {own|share|interact|kernel|filesys|rec|adapt}] [state= {active|inactive|all}] [bufsize= размер_буфера] [ri= индекс_возобновления] [group= имя_группы]
Параметры
имя_сервера Задает имя удаленного сервера, на котором находится служба. В имени следует использовать формат UNC («\\myserver»). Чтобы запустить SC локально, этот параметр следует пропустить. имя_службы Указывает имя службы, возвращенное операцией getkeyname. Данный параметр операции queryex не используется совместно с другими параметрами этой операции (отличными от параметра имя_сервера). type= {driver|service|all} Указывает объекты для перечисления. Тип по умолчанию service.
Значение
Описание
driver
Указывает перечисление только драйверов
service
Указывает перечисление только служб
all
Указывает перечисление драйверов и служб
type= {own|share|interact|kernel|filesys|rec|adapt} Указывает тип драйверов и тип служб для перечисления.
Значение
Описание
own
Служба выполняется в собственном процессе. Она не использует исполняемый файл совместно с другими службами. Эта установка используется по умолчанию
share
Служба выполняется как общий процесс. Она использует исполняемый файл совместно с другими службами
interact
Служба может взаимодействовать с рабочим столом, получая входные данные от пользователей. Интерактивные службы должны выполняться с системной учетной записью
kernel
Драйвер
filesys
Драйвер файловой системы
state= {active|inactive|all} Указывает состояние запуска службы, которая включается в перечисление. По умолчанию active.
Значение
Описание
active
Указывает все активные службы
inactive
Указывает все приостановленные или остановленные службы
all
Указывает все службы
bufsize= размер_буфера Задает размер буфера перечисления в байтах. По умолчанию размер пакета равен 1024 байтам. ri= индекс_возобновления Указывает номер индекса, с которого начинается или возобновляется перечисление. По умолчанию — 0. group= имя_группы Указывает группу служб для перечисления. По умолчанию выбираются все группы. /? Отображает справку в командной строке.
Примечания
Если между параметром и его значением имеется пробел (например type= own вместо type=own) произойдет сбой операции.
Операция queryex отображает следующие сведения о службе: SERVICE_NAME (имя раздела реестра для службы), TYPE, STATE (а также состояния, которые недоступны), WIN32_EXIT_B, SERVICE_EXIT_B, CHECKPOINT, WAIT_HINT, PID и FLAGS.
В некоторых случаях параметр type= может использоваться дважды. Первое появление параметра type= указывает, следует ли запрашивать службы, драйверы или и то и другое. Второе появление параметра type= указывает тип из операции create для дальнейшего сужения области запроса.
Когда вывод результата команды queryex превышает размер буфера перечисления, выводится следующее сообщение:
Enum: more data, need 2130 bytes start resume at index 75
Чтобы вывести на экран оставшиеся сведения результата команды queryex, повторно выполните команду queryex, указав в параметре bufsize= количество байтов и конкретный индекс в параметре ri=. Например, оставшиеся выходные данные можно вывести на экран с помощью следующей команды.
sc queryex bufsize= 2130 ri= 75
Примеры
Далее приведены примеры использования команды sc queryex.
sc queryex messenger
sc queryex group= «»
sc querylock
Запрашивает и отображает состояние блокировки базы данных диспетчера служб.
Синтаксис
sc [имя_сервера] querylock
Параметр
имя_сервера Задает имя удаленного сервера, на котором находится служба. В имени следует использовать формат UNC («\\myserver»). Чтобы запустить SC локально, этот параметр следует пропустить. /? Отображает справку в командной строке.
sc sdset
Задает дескриптор безопасности службы с помощью SDDL.
Синтаксис
sc [имя_сервера] sdset имя_службы дескриптор_безопасности_службы
Параметры
имя_сервера Задает имя удаленного сервера, на котором находится служба. В имени следует использовать формат UNC («\\myserver»). Чтобы запустить SC локально, этот параметр следует пропустить. имя_службы Указывает имя службы, возвращенное операцией getkeyname. дескриптор_безопасности_службы Задает дескриптор службы в SDDL. /? Отображает справку в командной строке.
Примечания
Дополнительные сведения о SDDL, см. ссылку «Security Descriptor Definition Language» в библиотеке MSDN Online Library.
sc sdshow
Отображает дескриптор безопасности службы с помощью SDDL.
Синтаксис
sc [имя_сервера] sdshow имя_службы
Параметры
имя_сервера Задает имя удаленного сервера, на котором находится служба. В имени следует использовать формат UNC («\\myserver»). Чтобы запустить SC локально, этот параметр следует пропустить. имя_службы Указывает имя службы, возвращенное операцией getkeyname. /? Отображает справку в командной строке.
Примечания
Дополнительные сведения о SDDL, см. ссылку «Security Descriptor Definition Language» в библиотеке MSDN Online Library.
Примеры
sc sdshow rpcss
sc start
Служит для запуска службы.
Синтаксис
sc [имя_сервера] start имя_службы [аргументы_службы]
Параметры
имя_сервера Задает имя удаленного сервера, на котором находится служба. В имени следует использовать формат UNC («\\myserver»). Чтобы запустить SC локально, этот параметр следует пропустить. имя_службы Указывает имя службы, возвращенное операцией getkeyname. аргументы_службы Задает аргументы службы, которые надо выполнить для запуска службы. /? Отображает справку в командной строке.
Примеры
Далее приведены примеры использования команды sc start.
sc start tapisrv
sc stop
Посылает службе запрос STOP.
Синтаксис
sc [имя_сервера] stop имя_службы
Параметры
имя_сервера Задает имя удаленного сервера, на котором находится служба. В имени следует использовать формат UNC («\\myserver»). Чтобы запустить SC локально, этот параметр следует пропустить. имя_службы Указывает имя службы, возвращенное операцией getkeyname. /? Отображает справку в командной строке.
Примечания
Не все службы могут быть приостановлены.
Примеры
Далее приведены примеры использования команды sc stop.
sc stop tapisrv