The new utilities are:
- Sc.exe: This tool provides a way to communicate with Service Controller (Services.exe) from the command prompt, to retrieve information about services.
- Netsvc.exe: This tool provides a way to remotely start, stop, and query the status of services from the command line.
Using these resource kit utilities provides the ability to accomplish the registry change and ensure that the change is registered with the Services Control Manager. The Services Control Manager database is updated dynamically when using these utilities, allowing you to change the start values and stop and restart services remotely. Otherwise, the remote modification to the registry will require you to restart the remote computer or to make the change in the Services tool in Control Panel at the remote computer.
For a detailed explanation of the working of Service Control Manager, and the API set used, consult the Windows NT 4.0 Device Driver Kit (DDK), and the Windows NT 4.0 Software Development Kit (SDK).
An example of how to remotely change the start value of the Schedule service to disabled, test it for the disabled option, reset to manual, and then start the services follows.
In the example, the computer running the commands is MYMACHINE. The remote computer is REMOTE1. Administrative rights are required to perform the following commands on the remote computer:
[SC] ChangeServiceConfig SUCCESS
C:\>netsvc /start \\REMOTE1 "Schedule"
Error code 1058
C:\net helpmsg 1058
C:\>netsvc /start \\REMOTE1 "Schedule" Service is pending start on \\REMOTE1
C:\>sc \\REMOTE1 qc Schedule [SC] GetServiceConfig SUCCESS
TYPE : 10 WIN32_OWN_PROCESS
START_TYPE : 3 DEMAND_START
ERROR_CONTROL : 1 NORMAL
BINARY_PATH_NAME : C:\WINNT\System32\AtSvc.Exe
TAG : 0
DISPLAY_NAME : Schedule
SERVICE_START_NAME : LocalSystem
You can automate the previous example through a batch file.
Consult the Windows NT Server 4.0 Resource Kit, Supplement 1, for additional information on the syntax and use of Sc.exe and Netsvc.exe.