If you end up in situation where you need to delete or create services from current existing ones with a batch script because it is existing on multiple servers and you want to automate / deploy it via batch (.bat) script you will have to use sc.exe tool – Service Controller Command Tool
SC.EXE command is standard windows console tool to create and delete services. If you want to create a new service, you can use the "create" parameter.
1. Deleting Service with Windows Service Controller Tool
Deleting service is very easy to do you just have to know the service you like to remove not to be listed or Automatically start
sc delete SERVICE_NAME_TO_BE_REMOVED
Below is a real time example on how to remove Apache webserver configured to auto-start
sc.exe delete ApacheService
[SC] DeleteService SUCCESS
2. Create / Add service to existing to auto start on Windows
Before running sc.exe create command with arguments for service you will need to know following info:
- What will be the Service Name: A single word to name the new service.
- Full Binary Path: The path name where the executable program for new service is currently located.
- Dispaly Name for service: A short name for the new service.
C:Windows>sc.exe create ApacheService
binPath= "C:localapachebinhttpd.exe -k runservice"
DisplayName= "Apache Server"
[SC] CreateService SUCCESS
Once service is added to be showing in services.msc GUI you can start the newly added Apache service with:
C:Windows>sc.exe start ApacheService
SERVICE_NAME: ApacheService
TYPE : 10 WIN32_OWN_PROCESS
STATE : 2 START_PENDING
(NOT_STOPPABLE,NOT_PAUSABLE,IGNORES_SHUTDOWN)
WIN32_EXIT_CODE : 0 (0x0)
SERVICE_EXIT_CODE : 0 (0x0)
CHECKPOINT : 0x2
WAIT_HINT : 0x7530
PID : 2552
FLAGS :
To stop the ApacheService or any other service:
C:Windows>sc.exe stop ApacheService
SERVICE_NAME: ApacheService
TYPE : 10 WIN32_OWN_PROCESS
STATE : 3 STOP_PENDING
(NOT_STOPPABLE,NOT_PAUSABLE,IGNORES_SHUTDOWN)
WIN32_EXIT_CODE : 0 (0x0)
SERVICE_EXIT_CODE : 0 (0x0)
CHECKPOINT : 0x4
WAIT_HINT : 0x7530
To get the status of a running service lets say the recently ran ApacheService:
C:Windows>sc.exe query ApacheService
SERVICE_NAME: ApacheService
TYPE : 10 WIN32_OWN_PROCESS
STATE : 4 RUNNING
(STOPPABLE,NOT_PAUSABLE,IGNORES_SHUTDOWN)
WIN32_EXIT_CODE : 0 (0x0)
SERVICE_EXIT_CODE : 0 (0x0)
CHECKPOINT : 0x0
WAIT_HINT : 0x0
As you see from above output the STATE of service is RUNNING. If Apache Webserver was not running you will get an error like:
[SC] EnumQueryServicesStatus:OpenService FAILED 1060:
The specified service does not exist as an installed service.
Enjoy sc-ing 🙂
More helpful Articles
Tags: CHECKPOINT, Delete, exe, Full Binary Path, running, script, Service Name, state, type, use