LKBEN10676: Howto stop a service from remote or control its status


Symptom

You need to control a service start, pause, stop, query, ... or whatever from remote

Cause

This is used a lot in daily administration of server systems (especially the query)

Solution

Windows services can be controlled with the sc command. SI is a command line tool for communication with the remote NT

Service controller and services. The normal syntax is:

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 (persistant).
description-----Changes the description of a service.
failure---------Changes the actions taken by a service upon failure.
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.
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.
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

Here are some examples to check for shut down enteo services and check the status afterwards.

sc \\lubbysrv stop "ersupext"
sc \\lubbysrv stop "esiCore"
sc \\lubbysrv query "esicore"

This could also be checked with

sc \\lubbysrv query state= inactive |find /i "core"

With

sc \\lubbysrv query

you will get all the running services from the remote system.

su \\lubbysrv query state= all

Here, you get them all, even inactive!

Disclaimer:

The information provided in this document is intended for your information only. Lubby makes no claims to the validity of this information. Use of this information is at own risk!

About the Author

Author: Wim Peeters - Keskon GmbH & Co. KG

Wim Peeters is electronics engineer with an additional master in IT and over 30 years of experience, including time spent in support, development, consulting, training and database administration. Wim has worked with SQL Server since version 6.5. He has developed in C/C++, Java and C# on Windows and Linux. He writes knowledge base articles to solve IT problems and publishes them on the Lubby Knowledge Platform.