В настоящее время вы работаете в автономном режиме; ожидается повторное подключение к Интернету

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

Поддержка Windows XP завершена

8 апреля 2014 г. корпорация Майкрософт прекратила поддержку Windows XP. Это повлияло на обновления программного обеспечения и параметры безопасности. Узнайте, что это значит для вас и какие меры по безопасности можно предпринять.

Поддержка Windows Server 2003 завершилась 14 июля 2015 г.

Корпорация Майкрософт завершила поддержку Windows Server 2003 14 июля 2015 г. Это повлияло на обновления программного обеспечения и параметры безопасности. Узнайте, что это значит для вас и какие меры по безопасности можно предпринять.

Аннотация
Для удаленного создания и запуска службы из командной строки можно использовать программу 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». При вводе пустых кавычек передается пустая строка.Обратите внимание, что между именем параметра OptionValue и знаком равенства есть пробел.

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

Далее приведен пример создания записи реестра для службы с именем «NewService» на компьютере \\remotecomputer:
sc \\remotecomputer create newservice binpath= c:\nt\system32\newserv.exe
Примечание. В Windows 2000, Windows XP, Windows Server 2003, Windows Vista и Windows Server 2008 параметр binpath расположен по адресу C:\Windows\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"
Примечание. В Windows 2000, Windows XP, Windows Server 2003, Windows Vista и Windows Server 2008 параметр binpath расположен по адресу C:\Windows\System32\Newserv.exe.

Дополнительные сведения о программе Sc.exe см. в файле Sc-dev.txt, который включен в пакет ресурсов Resource Kit. Этот файл содержит подробное описание Sc.exe.
Примечание. Это ЭКСПРЕСС-ПУБЛИКАЦИЯ, подготовленная непосредственно службой технической поддержки Майкрософт . Сведения, содержащиеся в данном документе, предоставлены в качестве отклика на возникшие проблемы. Из-за срочности в материалах могут быть опечатки, и в любое время и без уведомления в них могут быть внесены изменения. Чтобы получить дополнительные сведения, см. Условия использования.
Свойства

Номер статьи: 251192 — последний просмотр: 06/30/2016 09:04:00 — редакция: 1.0

операционная система Microsoft Windows NT Server 3.51, Microsoft Windows NT Server 4.0 Standard Edition, операционная система Microsoft Windows 2000 Server, Microsoft Windows 2000 Advanced Server, Microsoft Windows 2000 Professional Edition, Microsoft Windows Server 2003, Datacenter Edition (32-bit x86), Microsoft Windows Server 2003, Datacenter Edition for Itanium-Based Systems, Microsoft Windows Server 2003, Datacenter x64 Edition, Microsoft Windows Server 2003, Enterprise x64 Edition, Microsoft Windows Server 2003, Enterprise Edition (32-bit x86), Microsoft Windows Server 2003, Enterprise Edition for Itanium-based Systems, Microsoft Windows Server 2003, Standard x64 Edition, Microsoft Windows Server 2003, Standard Edition (32-bit x86), Windows Vista Home Basic, Windows Vista Home Basic N, Windows Vista Home Basic N 64-bit Edition, Windows Vista Business, Windows Vista Business 64-bit edition, Windows Vista Business N, Windows Vista Business N 64-bit Edition, Windows Vista Home Premium, Windows Vista Home Basic 64-bit edition, Windows Vista Home Premium 64-bit edition, Windows Vista Ultimate, Windows Vista Ultimate 64-bit edition, Microsoft Windows XP Home Edition, Microsoft Windows XP Professional, Windows Server 2008 Standard, Windows Server 2008 Enterprise, Windows Server 2008 Datacenter

  • kbhowto kbexpertiseinter kbinfo KB251192
Отзывы и предложения