How To Check If A Service Is Running or Not On Multiple Servers

by [Published on 16 Feb. 2011 / Last Updated on 9 Jan. 2010]

This article explains how you can use a small CMD script to check the status of a service on multiple computers.

Windows natively has a command line tool which can be used to check if a service is running or not on a remote computer. The utility/tool name is SC.exe. SC.exe has parameter to specify the remote computer name. You can check service status only on one remote computer at a time. You can use below script to check service status on multiple computers. Let's say we want to check the status of service called Windows Update.


  1. Create a text file; Servers.txt
  2. Put all the server names in it.
  3. Next, copy the following lines in a file and save it as ChkService.CMD
  • REM ***START HERE***
  • Echo Off
  • Setlocal EnableDelayedExpansion
  • IF EXIST Result.csv DEL Result.csv
  • FOR /F "Tokens=*" %%L IN (Servers.txt) DO (
  •    SET ServerName=
  •    SET ServerName=%%L
  •    SC.exe \\!ServerName! Query Wuauserv > Result.txt
  • )
  • Find /i "RUNNING" < Result.txt
  • IF !ErrorLevel! == 0 (
  •     Echo !ServerName!, Running >> Result.csv
  • ) ELSE (
  •     Echo !ServerName!, Not Running >> Result.csv
  • )
  • REM ***END HERE***

The end results will be stored in the Result.csv file. The result.csv will have the server name and the service status (Running or Not Running). The ChkService.CMD can be executed from a computer running Windows Server 2003 or later Operating Systems.

See Also

The Author — Nirmal Sharma

Nirmal Sharma avatar

Nirmal Sharma is a MCSEx3, MCITP, and was awarded Microsoft MVP in Directory Services. In his spare time, he likes to help others and share some of his knowledge by writing tips and articles for various online communities. Nirmal can also be found contributing to PowerShell based Dynamic Packs for ADHealthProf.ITDynamicPacks.Net solutions.

Featured Links