Thursday, 25 July 2013

How to: Remotely start/stop/monitor windows services

When working with a lot of different servers, to monitor and control the windows services on those machines can be a real pain. Because you either need to RDP to the machine or open a remote services session.

In order to automate the tedious hard labour and achive this in bulk. I used the remote command 'SC' to access NT Service Contoller provided by MS.

The syntax is as simple as the following:
for monitoring service: sc <server-name> query <spooler or any service name>
for stopping service: sc <server-name> stop <spooler or any service name>
for starting service: sc <server-name> start <spooler or any service name>
List all the servers and put them in .bat file, that way would save you a great deal of time repeating yourselves.

FYI, the SC command details are listed below:
    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