Using Sc.exe and Netsvc.exe to Control Services Remotely

This article was previously published under Q166819
This article has been archived. It is offered "as is" and will no longer be updated.
Windows NT Server 4.0 Resource Kit Supplement 1, comes with two newadministrative utilities to work remotely with Windows NT services.

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.
It is possible to use Sc.exe and Netsvc.exe to switch the start value of aservice, and to remotely start and stop a service.

Using these resource kit utilities provides the ability to accomplish theregistry change and ensure that the change is registered with the ServicesControl Manager. The Services Control Manager database is updateddynamically when using these utilities, allowing you to change the startvalues and stop and restart services remotely. Otherwise, the remotemodification to the registry will require you to restart the remotecomputer or to make the change in the Services tool in Control Panel at theremote 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 Scheduleservice to disabled, test it for the disabled option, reset to manual, andthen start the services follows.

In the example, the computer running the commands is MYMACHINE.The remote computer is REMOTE1. Administrative rights are required toperform the following commands on the remote computer:
C:\>sc \\REMOTE1 config Schedule start= disabled
[SC] ChangeServiceConfig SUCCESS

C:\>netsvc /start \\REMOTE1 "Schedule"
Error code 1058

C:\net helpmsg 1058

The specified service is disabled and cannot be started.
C:\>sc \\REMOTE1 config Schedule start= demand [SC] ChangeServiceConfig SUCCESS

C:\>netsvc /start \\REMOTE1 "Schedule" Service is pending start on \\REMOTE1

C:\>sc \\REMOTE1 qc Schedule [SC] GetServiceConfig SUCCESS
   SERVICE_NAME: Schedule      TYPE               : 10  WIN32_OWN_PROCESS      START_TYPE         : 3   DEMAND_START      ERROR_CONTROL      : 1   NORMAL      BINARY_PATH_NAME   : C:\WINNT\System32\AtSvc.Exe      LOAD_ORDER_GROUP   :      TAG                : 0      DISPLAY_NAME       : Schedule      DEPENDENCIES       :      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, foradditional information on the syntax and use of Sc.exe and Netsvc.exe.

Article ID: 166819 - Last Review: 12/04/2015 16:48:07 - Revision: 2.2

Microsoft Windows 2000 Server, Microsoft Windows 2000 Advanced Server, Microsoft Windows 2000 Professional Edition, Microsoft Windows NT Workstation 4.0 Developer Edition, Microsoft Windows NT Server 4.0 Standard Edition

  • kbnosurvey kbarchive kbinfo kbsetup KB166819