Een Windows-service maken met Sc.exe

Vertaalde artikelen Vertaalde artikelen
Artikel ID: 251192 - Bekijk de producten waarop dit artikel van toepassing is.
Alles uitklappen | Alles samenvouwen

Op deze pagina

Samenvatting

Als u extern een service wilt maken en starten vanaf de opdrachtregel, kunt u het hulpprogramma SC (Sc.exe) in de Resource Kit gebruiken.

Hoewel u de hulpprogramma's Netsvc.exe en Instsrv.exe kunt gebruiken om een service te starten op een externe computer, bieden deze hulpprogramma's geen mogelijkheden om extern een service te maken.

Opmerking Het hulpprogramma Srvinstw.exe is de GUI-versie (Graphical User Interface) die wordt gebruikt voor het maken van externe services. Srvinstw.exe is geen opdrachtregelprogramma.

Meer informatie

U kunt Sc.exe gebruiken bij het ontwikkelen van services voor Windows. Sc.exe, dat deel uitmaakt van de Resource Kit, implementeert aanroepen naar alle API-beheerfuncties (Application Programming Interface) voor Windows-services. U kunt de parameters voor deze functies opgeven via de opdrachtregel. Sc.exe geeft tevens de status van services weer en haalt de waarden op die zijn opgeslagen in de statusstructuurvelden. Met het hulpprogramma kunt u ook de naam opgeven van een externe computer, zodat u de API-functies van de service kunt aanroepen of de statusstructuur van de service kunt weergeven op de externe computer.

Met Sc.exe kunt u alle API-functies voor servicebeheer aanroepen en de parameters aanpassen vanaf de opdrachtregel. Het voordeel is dat u hiermee over een gemakkelijke manier beschikt voor het maken of configureren van de servicegegevens in het register en in de database van Servicebeheer. U hoeft de service niet te configureren via het handmatig maken van vermeldingen in het register en het opnieuw opstarten van de computer om een update van de database van Servicebeheer af te dwingen.

Sc.exe gebruikt de volgende syntaxis:

Syntaxis1 (gebruik Syntaxis1 om Sc.exe te activeren)
sc [Servernaam] Opdracht Servicenaam [Optienaam= Optiewaarde...]
Syntaxis2 (gebruik Syntaxis2 om Help-informatie weer te geven, behalve voor de opdracht query)
sc [Opdracht]

Parameters

  • Servernaam
    Optioneel. Hiermee wordt de naam opgegeven van de server als u opdrachten wilt uitvoeren op een externe computer. De naam moet beginnen met twee backslashtekens (\) (bijvoorbeeld \\mijnserver). Geef deze parameter niet op als u Sc.exe op de lokale computer wilt uitvoeren.
  • Opdracht
    Hiermee wordt de sc-opdracht nader gespecificeerd. Houd er rekening mee dat voor veel van de sc-opdrachten beheerdersbevoegdheden vereist zijn op de opgegeven computer. Sc.exe ondersteunt de volgende opdrachten:
    Config
    Hiermee wijzigt u de configuratie van een service (permanent).

    Continue
    Hiermee wordt een Continue-stuuropdracht naar een service verzonden.

    Control
    Hiermee wordt een stuuropdracht naar een service verzonden.

    Create
    Hiermee wordt een service gemaakt (deze wordt toegevoegd aan het register).

    Delete
    Hiermee wordt een service (uit het register) verwijderd.

    EnumDepend
    Hiermee worden serviceafhankelijkheden geïnventariseerd.

    GetDisplayName
    Hiermee wordt de DisplayName voor een service opgehaald.

    GetKeyName
    Hiermee wordt de ServiceKeyName voor een service opgehaald.

    Interrogate
    Hiermee wordt een Interrogate-stuuropdracht naar een service verzonden.

    Pause
    Hiermee wordt een Pause-stuuropdracht naar een service verzonden.

    qc
    Hiermee wordt een query uitgevoerd voor de configuratie van de service. Raadpleeg de sectie met het overzicht voor 'SC QC' voor gedetailleerde informatie.

    Query
    Hiermee wordt een query uitgevoerd `naar de status van een service of wordt de status geïnventariseerd voor typen services. Raadpleeg de sectie met het overzicht voor 'SC QUERY' voor gedetailleerde informatie.

    Start
    Hiermee wordt een service gestart.

    Stop
    Hiermee wordt een Stop-aanvraag naar een service verzonden.
  • Servicenaam
    Hiermee wordt de naam opgegeven voor de Service-sleutel in het register. Deze naam verschilt van de weergavenaam (die u ziet als u de opdracht net start uitvoert of het onderdeel Services gebruikt in het Configuratiescherm). Sc.exe gebruikt de sleutelnaam van de service als primaire id van de service.
  • Optienaam
    Met de parameters Optienaam en Optiewaarde kunt u de naam en waarde opgeven van optionele opdrachtparameters. Er mag geen spatie mag staan tussen Optienaam en het gelijkteken. U kunt geen, één of meer optionele naam- en waardeparen opgeven.
  • Optiewaarde
    Hiermee wordt de waarde opgegeven voor de parameter die wordt benoemd met Optienaam. Het bereik met geldige waarden is vaak beperkt voor elke Optienaam. Vraag voor elke opdracht Help op voor een lijst met beschikbare waarden.
Voor veel van de opdrachten zijn beheerdersbevoegdheden vereist. Controleer of u beheerder bent voor de computer waarop de ontwikkelingswerkzaamheden worden uitgevoerd.

Met de opdracht sc create wordt een vermelding voor de service gemaakt in het register en in de database van Servicebeheer.

Syntaxis
sc [Servernaam] create Servicenaam [Optienaam=Optiewaarde...

Parameters

  • Servernaam
    Optioneel. Hiermee wordt de naam opgegeven van de server als u opdrachten wilt uitvoeren op een externe computer. De naam moet beginnen met twee backslashtekens (bijvoorbeeld \\mijnserver). Geef deze parameter niet op als u SC op de lokale computer wilt uitvoeren.
  • Servicenaam
    Hiermee wordt de naam opgegeven voor de servicesleutel in het register. Deze naam verschilt van de weergavenaam, die u ziet als u net start uitvoert of het onderdeel Services gebruikt in het Configuratiescherm. Sc.exe gebruikt de sleutelnaam van de service als primaire id van de service.
  • Optienaam
    Met de parameters Optienaam en Optiewaarde kunt u de naam en waarde opgeven van optionele parameters. Er mag geen spatie mag staan tussen Optienaam en het gelijkteken. U kunt geen, één of meer optionele naam- en waardeparen opgeven. De opdracht sc query ondersteunt de volgende waarden: OptienaamOptiewaarde
    type=own, share, interact, kernel, filesys
    Het type service dat u wilt maken. Optiewaarden omvatten de typen die door stuurprogramma's worden gebruikt.
    (standaardinstelling = share)

    start=boot, system, auto, demand, disabled
    Het opstarttype voor de service. Optiewaarden omvatten de typen die door stuurprogramma's worden gebruikt.
    (standaardinstelling = demand)

    error=normal, severe, critical, ignore
    De foutcode als de service niet start tijdens het opstarten.
    (standaardinstelling = normal)

    binPath=(tekenreeks)
    De padnaam naar het binaire bestand van de service. Er is geen standaardinstelling voor deze parameter. Deze tekenreeks moet worden opgegeven.

    group=(tekenreeks)
    De naam van de groep waarvan deze service deel uitmaakt. De lijst met groepen is opgeslagen in het register onder ServiceGroupOrder.
    (standaardinstelling = niets)

    tag=(tekenreeks)
    Als deze tekenreeks is ingesteld op 'yes' wordt voor de aanroep CreateService een TagId geretourneerd; de code wordt echter niet door Sc.exe weergegeven.
    (standaardinstelling = niets)

    depend=(met spaties van elkaar gescheiden tekenreeks)
    Namen van services of groepen die vóór deze service moeten worden gestart.

    obj=(tekenreeks)
    De naam van de account waarin deze service wordt uitgevoerd. Voor stuurprogramma's is dit de objectnaam van het Windows-stuurprogramma.
    (standaardinstelling = LocalSystem)

    DisplayName=(tekenreeks)
    Een tekenreeks die kan worden gebruikt door gebruikersinterfaceprogramma's ter identificatie van de service.

    password=(tekenreeks)
    Een wachtwoordtekenreeks. Deze is vereist als een andere account dan LocalSystem wordt gebruikt.
Optiewaarde
Hiermee wordt de waarde opgegeven voor de parameter die wordt benoemd met Optienaam. Zie het overzicht voor Optienaam voor een lijst met ondersteunde waarden. Wanneer een tekenreeks moet worden ingevoerd, betekent het gebruik van lege aanhalingstekens dat een lege tekenreeks wordt ingevoegd. Let bij deze opdracht op de spatie tussen Optiewaarde en het gelijkteken.

Opmerking De opdracht sc create voert bewerkingen uit voor de API-functie CreateService.

In het onderstaande voorbeeld wordt een registervermelding gemaakt voor de service met de naam 'NewService' op de computer met de naam \\externecomputer:
sc \\externecomputer create newservice binpath= c:\nt\system32\newserv.exe
Opmerking In Windows 2000, Windows XP, Windows Server 2003, Windows Vista en Windows Server 2008 is binpath te vinden op C:\Windows\System32\Newserv.exe.

Deze service wordt standaard gemaakt als een WIN32_SHARE_PROCESS met het opstarttype SERVICE_DEMAND_START. Deze heeft geen afhankelijkheden en wordt uitgevoerd in de beveiligingscontext LocalSystem.

In het onderstaande voorbeeld wordt de service op de lokale computer gemaakt als een service die automatisch wordt opgestart en in een eigen proces wordt uitgevoerd. De service heeft afhankelijkheden ten opzichte van de TDI-groep en de NetBIOS-service. Houd er rekening mee dat u aanhalingstekens moet plaatsen rond de lijst met via spaties van elkaar gescheiden afhankelijkheden.
sc create newservice binpath= c:\nt\system32\newserv.exe type= own start= auto depend= "+tdi netbios"
Opmerking In Windows 2000, Windows XP, Windows Server 2003, Windows Vista en Windows Server 2008 is binpath te vinden op C:\Windows\System32\Newserv.exe.

Raadpleeg het document Sc-dev.txt in de Resource Kit voor meer informatie over het hulpprogramma Sc.exe. In dit document wordt Sc.exe nader beschreven.

Eigenschappen

Artikel ID: 251192 - Laatste beoordeling: maandag 7 april 2008 - Wijziging: 4.0
De informatie in dit artikel is van toepassing op:
  • 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
Trefwoorden: 
kbhowto kbexpertiseinter kbinfo KB251192

Geef ons feedback

 

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