Welcome Message

"The difference between a successful person and others is not a lack of strength,
not a lack of knowledge, but rather a lack in will."
-Vince Lombardi

July 23, 2009

Managing Windows XP Services locally/remotely using Service Controller Command SC

General Starting and Stopping the service can be accomplished using the

net stop <service name>

net start <service name>


A full list of the exact services is found in the registry (run regedit.exe) under the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services key.


Alternatively, you can perform the stop and start using the name that is showed in the Services Control Panel applet by putting the name in quotes, i.e.

net stop "<service>"

net start "<service>"



Managing Windows XP Services with the Service Controller Command SC


The Service Controller utility SC is a powerful command-line utility for managing Windows services. Its various capabilities and functions are discussed here.

Many processes and functions of the Windows XP operating system and other software are classified under the general rubric of “services”. Managing services with the graphical facility called the Services Console is discussed at a sister site. In addition to a GUI method of managing services, Windows XP also has a powerful command-line utility.This utility, the Service Controller, is opened by entering "sc' into the command prompt and contains a large assembly of subcommands that we will survey.


The command-line method of managing services has the advantage of being available for scripts. It also allows for quickly stopping and starting services for troubleshooting purposes. Systems administrators use it for managing services on networks and for very detailed configuration. For the average PC user, it provides a quick and easy way to turn services on and off to see how system performance is affected.




        SC is a command line program used for communicating with the NT Service Controller and services.


Service Control - Create, Start, Stop, Query or Delete any Windows SERVICE. The command options for SC are case sensitive.



      SC [\\server] [command] [service_name] [Options]



   server       : The machine where the service is running


   service_name : The KeyName of the service, this is often but not always the same as the DisplayName shown in Control Panel, Services. You can get the KeyName by running: SC GetKeyName <DisplayName>



        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]"


          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 (persistant).

          description-----Changes the description of a service.

          failure---------Changes the actions taken by a service upon failure.

          sidtype---------Changes the service SID type 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.

          qsidtype--------Queries the service SID type 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.

          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



        sc start MyService


Would you like to see help for the QUERY and QUERYEX commands? [ y | n ]: y


        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)



sc query                - Enumerates status for active services & drivers

sc query messenger      - Displays status for the messenger service

sc queryex messenger    - Displays extended status for the messenger 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= service type= interact - Enumerates all interactive services

sc query type= driver group= NDIS     - Enumerates all NDIS drivers


Examples for remote sc commands:


sc \\ie10nt3ksvm069 query type= service state= all >> C:\allprocesses.txt


sc \\ie10nt3ksvm069 getkeyname "DNS Client"


sc \\ie10nt3ksvm069 getdisplayname "Dnscache"


sc \\ie10nt3ksvm069 qc "Dnscache"


sc qc "Dnscache"


SC query messenger | FIND "STATE"






NOTE: Be sure to check the spaces state= all it should not be state=all or state = all or state =all




 SC GetKeyName "task scheduler"

 SC GetDisplayName schedule

 SC start schedule

 SC QUERY schedule

 SC QUERY type= driver

 SC QUERY state= all |findstr "DISPLAY_NAME STATE" >svc_installed.txt

 SC \\myServer CONFIG myService obj= LocalSystem password= mypassword

 SC CONFIG MyService binPath=c:\myprogram.exe obj=".\LocalSystem" password=""  Watch out for extra spaces:

SC QUERY state= all Works

SC QUERY sTate =all Fails!


No comments:

Post a Comment

Thank you for your valuable comments.