Close

Create or Delete a Service in Windows Server

We can use sc.exe in the Windows Server 2003 to control services, create services and delete services.
Since some people thought they must directly modify the registry to delete a service, I would like to share how to use sc.exe to create or delete a service without directly modifying the registry so that decreased the possibility for system failures.

To create a service:

Click “start“ – “run“, and then enter “cmd“ to open Microsoft Command Console.

Enter command:

sc servername create servicename

 

To delete a service:

Click “start“ – “run“, and then enter “cmd“ to open Microsoft Command Console.

Enter command:

sc servername delete servicename

 

For instance, sc \\dc delete myservice

(Note: In this example, dc is my Domain Controller Server name, which is not the local machine, myservice is the name of the service I want to delete on the DC server.)

 

Below is the official help of all sc functions:

DESCRIPTION:

SC is a command line program used for communicating with the Service Control Manager and services.

USAGE:
sc <server> [command] [service name] <option1> <option2>…
The option <server> has the form “\\ServerName”
Further help on commands can be obtained by typing: “sc [command]”

Commands:
query————–Queries the status for a service, or enumerates the status for types of services.
queryex———–Queries the extended status for a service, or enumerates the status for types of services.
start—————-Starts a service.
pause————–Sends a PAUSE control request to a service.
interrogate——-Sends an INTERROGATE control request to a service.
continue———–Sends a CONTINUE control request to a service.
stop—————–Sends a STOP request to a service.
config————–Changes the configuration of a service (persistent).
description——–Changes the description of a service.
failure————–Changes the actions taken by a service upon failure.
failureflag———-Changes the failure actions flag of a service.
sidtype————-Changes the service SID type of a service.
privs—————-Changes the required privileges of a service.
qc——————-Queries the configuration information for a service.
qdescription——-Queries the description for a service.
qfailure————-Queries the actions taken by a service upon failure.
qfailureflag———Queries the failure actions flag of a service.
qsidtype————Queries the service SID type of a service.
qprivs—————Queries the required privileges of a service.
qtriggerinfo——–Queries the trigger parameters of a service.
qpreferrednode—Queries the preferred NUMA node of a service.
delete—————Deletes a service (from the registry).
create————–Creates a service. (adds it to the registry).
control————-Sends a control to a service.
sdshow————-Displays a service’s security descriptor.
sdset—————-Sets a service’s security descriptor.
showsid————Displays the service SID string corresponding to an arbitrary name.
triggerinfo———Configures the trigger parameters of a service.
preferrednode—–Sets the preferred NUMA node of a service.
GetDisplayName—Gets the DisplayName for a service.
GetKeyName——-Gets the ServiceKeyName for a service.
EnumDepend——-Enumerates Service Dependencies.

The following commands don’t require a service name:
sc <server> <command> <option>
boot—-(ok | bad) Indicates whether the last boot should be saved as the last-known-good boot configuration
Lock——–Locks the Service Database
QueryLock——-Queries the LockStatus for the SCManager Database

EXAMPLE:
sc start MyService

 

QUERY and QUERYEX OPTIONS:

If the query command is followed by a service name, the status for that service is returned. Further options do not apply in this case. If the query command is followed by nothing or one of the options listed below, the services are enumerated.

type= Type of services to enumerate (driver, service, all) (default = service)
state= State of services to enumerate (inactive, all) (default = active)
bufsize= The size (in bytes) of the enumeration buffer (default = 4096)
ri= The resume index number at which to begin the enumeration (default = 0)
group= Service group to enumerate (default = all groups)

SYNTAX EXAMPLES
sc query – Enumerates status for active services & drivers
sc query eventlog – Displays status for the eventlog service
sc queryex eventlog – Displays extended status for the eventlog service
sc query type= driver – Enumerates only active drivers
sc query type= service – Enumerates only Win32 services
sc query state= all – Enumerates all services & drivers
sc query bufsize= 50 – Enumerates with a 50 byte buffer
sc query ri= 14 – Enumerates with resume index = 14
sc queryex group= “” – Enumerates active services not in a group
sc query type= interact – Enumerates all interactive services
sc query type= driver group= NDIS – Enumerates all NDIS drivers

 

 

scroll to top