Создание службы Windows с помощью программы Sc.exe

Переводы статьи Переводы статьи
Код статьи: 251192 - Vizualiza?i produsele pentru care se aplic? acest articol.
Развернуть все | Свернуть все

В этой статье

Аннотация

Для удаленного создания и запуска службы из командной строки можно использовать программу SC (Sc.exe), включенную в пакет ресурсов Resource Kit.

Несмотря на то что программы Netsvc.exe и Instsrv.exe позволяют запустить службу на удаленном компьютере, удаленно создать службу с их помощью нельзя.

Примечание. Программа Srvinstw.exe представляет собой графический интерфейс пользователя для создания удаленных служб. Из командной строки она не запускается.

Дополнительная информация

Для создания служб Windows можно использовать программу Sc.exe, включенную в пакет ресурсов Resource Kit, которая реализует вызовы ко всем функциям интерфейса прикладного программирования (API) управления службами Windows. Настроить параметры для этих функций можно, задав их в командной строке. С помощью средства Sc.exe имеется возможность запросить состояние службы и получить значения, хранящиеся в полях структуры состояний. SC позволяет задавать имя удаленного компьютера, что дает возможность вызвать функции интерфейса API службы и посмотреть структуры состояния службы на удаленном компьютере.

Кроме того, Sc.exe позволяет вызвать любую функцию интерфейса API управления службами и изменить любой параметр, используя командную строку. Данное средство предоставляет удобный способ создания и изменения записей службы в реестре и в базе данных диспетчера служб. Для настройки службы нет необходимости вручную создавать записи в реестре и затем перезагружать компьютер, чтобы обеспечить обновление базы данных диспетчером служб.

Программа Sc.exe использует следующий синтаксис:

Синтаксис 1 (синтаксис 1 используется для запуска Sc.exe)
sc [Servername] Command Servicename [Optionname= Optionvalue...]
Синтаксис 2 (синтаксис 2 используется для просмотра справки, за исключением команды query)
sc [Command]

Параметры

  • Servername
    Необязательный параметр. Задает имя удаленного сервера, на котором будут запускаться команды. Перед именем необходимо поставить две обратные косые черты (\) (например, \\myserver). Чтобы запустить Sc.exe на локальном компьютере, этот параметр следует пропустить.
  • Command
    Задает команду sc. Следует отметить, что для выполнения многих команд sc на определенных компьютерах требуются права администратора. Программа Sc.exe поддерживает следующие команды:
    Config
    Изменяет конфигурацию службы (постоянные параметры).

    Continue
    Посылает службе запрос Continue.

    Control
    Посылает службе запрос Control.

    Create
    Создает службу (добавляет ее в реестр).

    Delete
    Удаляет службу (из реестра).

    EnumDepend
    Перечисляет зависимости служб.

    GetDisplayName
    Указывает отображаемое имя службы.

    GetKeyName
    Указывает имя раздела службы.

    Interrogate
    Посылает службе запрос Interrogate.

    Pause
    Посылает службе запрос Pause.

    qc
    Запрашивает конфигурацию службы. Дополнительные сведения см. в разделе «SC QC».

    Query
    Запрашивает состояние службы или указывает состояние по типам служб. Дополнительные сведения см. в разделе «SC QUERY».

    Start
    Запускает службу.

    Stop
    Посылает службе запрос Stop.
  • Servicename
    Указывает имя, присвоенное разделу службы в реестре. Следует отметить, что это имя отличается от отображаемого имени службы (имени, которое возвращается командой net start и отображается в разделе «Службы» панели управления). Программа Sc.exe использует имя раздела службы в качестве основного идентификатора службы.
  • Optionname
    Параметры «Optionname» и «Optionvalue» служат для указания имен и значений дополнительных параметров. Между именем параметра и знаком равенства нет пробела. Можно указать имя одного или нескольких дополнительных параметров и пары значений, или не указывать их вовсе.
  • Optionvalue
    Задает значение параметра, которому присвоено имя параметром «Optionname». Как правило, диапазон допустимых значений устанавливается отдельно для каждого параметра Optionname. Для получения списка допустимых значений обратитесь за справкой по каждой команде.
Для выполнения ряда команд необходимо иметь права администратора. Следовательно, необходимо обладать правами администратора на компьютере, на котором создается служба.

Команда sc create создает запись службы в реестре и в базе данных диспетчера служб.

Синтаксис
sc [Servername] create Servicename [Optionname=Optionvalue...

Параметры

  • Servername
    Необязательный параметр. Задает имя удаленного сервера, на котором будут запускаться команды. Перед именем необходимо поставить две обратные косые черты (например, \\myserver). Чтобы запустить SC на локальном компьютере, этот параметр следует пропустить.
  • Servicename
    Указывает имя, присвоенное разделу службы в реестре. Следует отметить, что это имя отличается от отображаемого имени службы, которое возвращается командой net start и отображается в разделе «Службы» панели управления. Программа Sc.exe использует имя раздела службы в качестве основного идентификатора службы.
  • Optionname
    Параметры «Optionname» и «Optionvalue» служат для указания имен и значений дополнительных параметров. Между именем параметра и знаком равенства нет пробела. Можно указать имя одного или нескольких дополнительных параметров и пары значений, или не указывать их вовсе. Команда sc query поддерживает следующие значения:OptionnameOptionvalue
    type=own, share, interact, kernel, filesys
    Тип службы, которую необходимо создать. Значения параметров включают тип службы, используемый драйверами.
    (по умолчанию = share)

    start=boot, system, auto, demand, disabled
    Тип запуска службы. Значения параметров включают тип запуска, используемый драйверами.
    (по умолчанию = demand)

    error=normal, severe, critical, ignore
    Указывает серьезность ошибки, если служба не запускается при загрузке.
    (по умолчанию = normal)

    binPath=(строка)
    Указывает путь к двоичному файлу службы. Этот параметр не имеет значения по умолчанию; его следует ввести самостоятельно.

    group=(строка)
    Указывает имя группы, членом которой является эта служба. Список групп сохраняется в разделе ServiceGroupOrder реестра.
    (по умолчанию = пустое)

    tag=(строка)
    При выборе значения «yes» Sc.exe получает код TagId из вызова CreateService, однако Sc.exe не отображает этот тег.
    (по умолчанию = пустое)

    depend=(строка с разделителями-пробелами)
    Указывает имена служб и групп, которые должны запускаться перед запуском этой службы.

    obj=(строка)
    Указывает имя учетной записи, для которой будет выполняться служба. Для драйверов — это значение является именем объекта драйвера Windows.
    (по умолчанию = LocalSystem)

    DisplayName=(строка)
    Указывает имя службы, которое используется в программах пользовательского интерфейса.

    password=(строка)
    Задает пароль. Данный параметр требуется для использования любой учетной записи, за исключением «Локальная система».
Optionvalue
Задает значение параметра, которому присвоено имя параметром «Optionname». Список допустимых значений см. в справке к параметру «Optionname». При вводе пустых кавычек передается пустая строка.

Примечание. Команда sc create выполняет операции функции CreateService интерфейса API.

Далее приведен пример создания записи реестра для службы с именем «NewService» на компьютере \\remotecomputer:
sc \\remotecomputer create newservice binpath= c:\nt\system32\newserv.exe
По умолчанию создается служба типа WIN32_SHARE_PROCESS с типом запуска SERVICE_DEMAND_START. Она не имеет никаких зависимостей и выполняется в контексте безопасности LocalSystem.

Далее приведен пример создания службы на локальном компьютере, которая запускается автоматически и выполняется в собственном процессе. Она содержит зависимости от группы TDI и службы NetBIOS. Список зависимостей с разделителями-пробелами необходимо заключить в кавычки.
sc create newservice binpath= c:\nt\system32\newserv.exe type= own start= auto depend= "+tdi netbios"
Дополнительные сведения о программе Sc.exe см. в файле Sc-dev.txt, который включен в пакет ресурсов Resource Kit. Этот файл содержит подробное описание Sc.exe.

Свойства

Код статьи: 251192 - Последний отзыв: 2 декабря 2005 г. - Revision: 3.0
Информация в данной статье применима к:
  • Microsoft Windows NT Server 4.0 Terminal Server
  • операционная система Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Операционная система Microsoft Windows 2000 Professional
  • операционная система Microsoft Windows NT Server 3.51
  • Microsoft Windows NT Server 4.0 Standard Edition
Ключевые слова: 
kbinfo KB251192

Отправить отзыв

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com