Vytvoření nové služby systému Windows pomocí nástroje Sc.exe

Překlady článku Překlady článku
ID článku: 251192 - Produkty, které se vztahují k tomuto článku.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Souhrn

Chcete-li vzdáleně vytvořit a spustit službu z příkazového řádku, můžete použít nástroj SC (Sc.exe), který je součástí sady Resource Kit.

Ke spuštění služby ve vzdáleném počítači lze sice použít nástroj Netsvc.exe nebo Instsrv.exe, avšak tyto nástroje neumožňují vzdáleně vytvořit novou službu.

Poznámka: Nástroj Srvinstw.exe je verze nástroje pro vytváření vzdálených služeb, která má grafické uživatelské rozhraní (GUI). Srvinstw.exe není nástroj příkazového řádku.

Další informace

Nástroj Sc.exe lze využít při vývoji služeb pro systém Windows. Nástroj Sc.exe, který je součástí sady Resource Kit, implementuje volání všech funkcí rozhraní API (Application Programming Interface) pro ovládání služeb systému Windows. Těmto funkcím lze nastavit parametry z příkazového řádku. Nástroj Sc.exe také zobrazuje stav služby a načítá hodnoty uložené ve struktuře polí stavu. Nástroj také umožňuje zadat název vzdáleného počítače, takže lze volat funkce rozhraní API nebo zobrazovat strukturu polí stavu služby ve vzdáleném počítači.

Nástroj Sc.exe také umožňuje volat všechny dostupné funkce rozhraní API služby a upravit libovolný parametr z příkazového řádku. Výhodou tohoto nástroje je, že nabízí pohodlný způsob vytvoření nebo konfigurace údajů o službě v registru nebo v databázi Správce služeb. Není třeba konfigurovat službu ručním vytvořením klíčů registru a potom restartovat počítač a vynutit si tak aktualizaci databáze Správce služeb.

Nástroj Sc.exe používá následující syntaxi:

Syntaxe1 (syntaxe1 slouží ke spuštění nástroje Sc.exe)
sc [název_serveru] příkaz název_služby [název_možnosti= hodnota_možnosti...]
Syntaxe2 (syntaxe2 slouží ke zobrazení informací nápovědy, s výjimkou příkazu query)
sc [příkaz]

parametry

  • název_serveru
    Nepovinné. Určuje název serveru v případě spuštění příkazu ve vzdáleném počítači. Název musí začínat dvěma zpětnými lomítky (\) (například \\mujserver). Při spuštění nástroje Sc.exe v místním počítači nezadávejte tento parametr.
  • příkaz
    Určuje příkaz nástroje sc. Mnoho příkazů nástroje sc vyžaduje ke spuštění oprávnění správce v zadaném počítači. Nástroj Sc.exe podporuje následující příkazy:
    Config
    Změní konfiguraci služby (trvale).

    Continue
    Odešle službě řídicí požadavek Continue (Pokračovat).

    Control
    Odešle službě řídicí požadavek.

    Create
    Vytvoří službu (přidá ji do registru).

    Delete
    Odstraní službu (z registru).

    EnumDepend
    Vytvoří výčet závislostí služby.

    GetDisplayName
    Získá název služby uvedený v poli DisplayName.

    GetKeyName
    Získá název klíče služby uvedený v poli ServiceKeyName.

    Interrogate
    Odešle službě řídicí požadavek Interrogate (Dotázat).

    Pause
    Odešle službě řídicí požadavek Pause (Pozastavit).

    qc
    Zadá dotaz na konfiguraci služby. Podrobné informace naleznete v části článku SC QC.

    Query
    Zadá dotaz na stav služby nebo vytvoří výčet stavů pro typy služeb. Podrobné informace naleznete v části článku SC QUERY.

    Start
    Spustí službu.

    Stop
    Odešle službě řídicí požadavek Stop (Zastavit).
  • název_služby
    Určuje název služby nastavený pro klíč služby v registru. Tento název se liší od zobrazovaného názvu (který zobrazuje příkaz net start nebo nástroj Služby v Ovládacích panelech). Nástroj Sc.exe používá název klíče služby jako primární identifikátor služby.
  • název_možnosti
    Parametry název_možnosti a hodnota_možnosti umožňují zadat názvy a hodnoty volitelných parametrů příkazu. Mezi názvem název_možnosti a znakem „rovná se“ není mezera. Lze zadat žádnou, jednu nebo více dvojic názvu a hodnoty volitelného parametru.
  • hodnota_možnosti
    Určuje hodnotu parametru s názvem zadaným pomocí parametru název_možnosti. Rozsah povolených hodnot je pro jednotlivé parametry název_možnosti často omezen. Seznam dostupných hodnot parametrů získáte v nápovědě pro daný příkaz.
Mnoho příkazů vyžaduje oprávnění správce. Zkontrolujte, zda máte oprávnění správce v počítači, ve kterém je prováděn vývoj.

Příkaz sc create vytvoří pro službu položku v registru a v databázi Správce služeb.

Syntaxe
sc [název_serveru] create název_služby [název_možnosti=hodnota_možnosti...

parametry

  • název_serveru
    Nepovinné. Určuje název serveru v případě spuštění příkazu ve vzdáleném počítači. Název musí začínat dvěma zpětnými lomítky (například \\mujserver). Při spuštění nástroje SC v místním počítači nezadávejte tento parametr.
  • název_služby
    Určuje název služby nastavený pro klíč služby v registru. Tento název se liší od zobrazovaného názvu (který zobrazuje příkaz net start nebo nástroj Služby v Ovládacích panelech). Nástroj Sc.exe používá název klíče služby jako primární identifikátor služby.
  • název_možnosti
    Parametry název_možnosti a hodnota_možnosti umožňují zadat názvy a hodnoty volitelných parametrů příkazu. Mezi názvem název_možnosti a znakem „rovná se“ není mezera. Lze zadat žádnou, jednu nebo více dvojic názvu a hodnoty volitelného parametru. Příkaz sc query podporuje následující hodnoty:název_možnostihodnota_možnosti
    type=own, share, interact, kernel, filesys
    Typ vytvářené služby. Hodnoty možností zahrnují typy použité v ovladačích.
    (výchozí = share)

    start=boot, system, auto, demand, disabled
    Typ spuštění služby. Hodnoty možností zahrnují typy použité v ovladačích.
    (výchozí = demand)

    error=normal, severe, critical, ignore
    Závažnost chyby, pokud není služba spuštěna v průběhu spouštění.
    (výchozí = normal)

    binPath=(řetězec)
    Název cesty k binárnímu souboru služby. Tento parametr nemá žádnou výchozí hodnotu. Řetězec je třeba zadat.

    group=(řetězec)
    Název skupiny, jejímž členem je služba. Seznam skupin je uložen v registru v klíči ServiceGroupOrder.
    (výchozí = nezadáno)

    tag=(řetězec)
    Pokud je řetězec nastaven na hodnotu yes, nástroj Sc.exe získá značku TagId z volání CreateService, nástroj Sc.exe však nezobrazí tuto značku.
    (výchozí = nezadáno)

    depend=(řetězec oddělený mezerami)
    Názvy služeb nebo skupin, které musejí být spuštěny před touto službou.

    obj=(řetězec)
    Název účtu, ve kterém je služba spuštěna. U ovladačů se jedná o název objektu ovladače systému Windows.
    (výchozí = LocalSystem)

    DisplayName=(řetězec)
    Řetězec, který je určen k identifikaci služby programy s uživatelským rozhraním.

    password=(řetězec)
    Řetězec hesla. Tento parametr je vyžadován, je-li použit jiný účet než LocalSystem.
hodnota_možnosti
Určuje hodnotu parametru s názvem zadaným pomocí parametru název_možnosti. Seznam podporovaných hodnot naleznete v popisu název_možnosti. Je-li vyžadován řetězec, lze prázdný řetězec zadat pomocí dvojice uvozovek. Mezi hodnotou_možnosti a rovnítkem je mezera.

Poznámka: Příkaz sc create provádí operace rozhraní API funkce CreateService.

V následujícím příkladu je vytvořen záznam v registru pro službu nazvanou NovaSluzba v počítači s názvem \\vzdalenypocitac:
sc \\vzdalenypocitac create novasluzba binpath= c:\nt\system32\novasluz.exe
Poznámka: V systémech Windows 2000, Windows XP, Windows Server 2003, Windows Vista a Windows Server 2008 je cesta k binárnímu souboru C:\Windows\System32\novasluz.exe.

Tato služba je ve výchozím nastavení vytvořena jako WIN32_SHARE_PROCESS s typem spuštění SERVICE_DEMAND_START. Nemá nastaveny žádné závislosti a je spuštěna v kontextu zabezpečení LocalSystem.

V následujícím příkladu je vytvořena služba v místním počítači, která je spouštěna automaticky a která běží ve vlastním procesu. Je závislá na skupině TDI a na službě NetBIOS. Seznam závislostí oddělený mezerou je třeba uzavřít do uvozovek.
sc create novasluzba binpath= c:\nt\system32\novasluz.exe type= own start= auto depend= "+tdi netbios"
Poznámka: V systémech Windows 2000, Windows XP, Windows Server 2003, Windows Vista a Windows Server 2008 je cesta k binárnímu souboru C:\Windows\System32\novasluz.exe.

Další informace o nástroji Sc.exe získáte v dokumentu Sc-dev.txt, který je součástí sady Resource Kit. Tento dokument popisuje podrobněji nástroj Sc.exe.

Vlastnosti

ID článku: 251192 - Poslední aktualizace: 14. dubna 2008 - Revize: 4.0
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft Windows NT Server 3.51
  • Microsoft Windows NT Server 4.0 Standard Edition
  • Microsoft Windows NT Server 4.0, Terminal Server 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
Klíčová slova: 
kbhowto kbexpertiseinter kbinfo KB251192

Dejte nám zpětnou vazbu

 

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