"PsService is a service viewer and controller for Windows NT/2K. Like the SC utility that's included in the Windows NT and Windows 2000 Resource Kits, PsService displays the status, configuration, and dependencies of a service, and allows you to start, stop, pause, resume and restart them. Unlike the SC utility, PsService enables you to logon to a remote system using a different account, for cases when the account from which you run it doesn't have required permissions on the remote system. PsService includes a unique service-search capability, which identifies active instances of a service on your network. You would use the search feature if you wanted to locate systems running DHCP servers, for instance.
Finally, PsService works on both NT 4 and Windows 2000, whereas the Windows 2000 Resource Kit version of SC requires Windows 2000, and PsService doesn't require you to manually enter a "resume index" in order to obtain a complete listing of service information.
InstallationJust copy PsService onto your executable path, and type "psservice".
PsService works on NT 3.51, NT 4.0, and Win2K.
The default behavior of PsService is to
display the configured services (both running
and stopped) on the local system. Entering a command
on the command-line invokes a particular feature,
and some commands accept options. Typing a command
followed by "-?" displays information
on the syntax for the command.
How it WorksPsService uses the Service Control Manager APIs that are documented in the Platform SDK."
I have scripted PsSVC.BAT, which makes it easier to use PsService in a batch. The syntax is:
NOTE: The state variable contains an N if you there is an error. The valid values for State are:
1 - Stopped
NOTE: You could modifiy the batch to include the credentials if needed.
PsSVC \\JSI007 query spooler
if "%state%" EQU "1" PsSVC \\JSI007 start spooler
@echo off set state=N If "%1" EQU "" goto :EOF If "%2" EQU "" goto :EOF If "%3" EQU "" goto :EOF for /f "skip=9 Tokens=1-2 Delims=: " %%i in ('psservice %1 %2 %3') do call :parse %%i %%j goto :EOF :parse If "%1" EQU "STATE" set state=%2