CMD命令讲解(一)SC

CMD命令讲解(一)SC

参考网站:https://technet.microsoft.com/en-us/library/bb490995.aspx

备注:网站内容是翻译得来,源网站在上面

 

SC

与服务控制器和已安装的服务进行通信。exe检索和设置关于服务的控制信息。您可以使用sc.exe来测试和调试服务程序。存储在注册表中的服务属性可以设置为控制如何在启动时启动服务应用程序,并作为后台进程运行。exe参数可以配置特定的服务,检索服务的当前状态,以及停止和启动服务。您可以创建调用各种sc.exe命令的批处理文件,以自动化启动或关闭服务的顺序。exe提供类似于控制面板中的管理工具项中的服务的功能。

对于命令语法,请单击下面的任何一个sc命令:

sc boot

表示最后一个引导是否应该被保存为最后一个良好的配置。

Syntax

sc [ServerNameboot [{bad|OK}]

Parameters

ServerName   指定服务所在的远程服务器的名称。名称必须使用通用命名约定(UNC)格式(“myserver”)。要在本地运行sc.exe,请忽略这个参数。

[{ bad | OK }] :指定最后一个引导是坏的还是应该作为最后一个好的引导配置来保存。

/ ?在命令提示符中显示帮助。

Examples

下面的例子展示了如何使用sc boot 命令:

sc boot ok 
sc boot bad

sc config 

在注册中心和服务控制管理器的数据库中修改服务条目的值。

Syntax

sc [ServerNameconfig [ServiceName] [type= {own|share|kernel|filesys|rec|adapt|interact type= {own|share}}] [start={boot|system|auto|demand|disabled}] [error={normal|severe|critical|ignore}] [binpath= BinaryPathName] [group= LoadOrderGroup] [tag={yes|no}] [depend= dependencies] [obj= {AccountName|ObjectName}] [displayname= DisplayName] [password= Password]

Parameters

ServerName   : 指定服务所在的远程服务器的名称。名称必须使用通用命名约定(UNC)格式(“myserver”)。要在本地运行sc.exe,请忽略这个参数。

ServiceName   : 指定由getkeyname操作返回的服务名称。

type= { own | share | kernel | filesys | rec | adapt | interact   type= { own | share }}   : 指定了服务类型。

Value

Description

own

服务运行在自己的进程中。它不与其他服务共享一个可执行文件。这是默认的。

share

该服务作为一个共享过程运行。它与其他服务共享一个可执行文件。

kernel

驱动程序

filesys

文件系统驱动程序。

rec

文件系统识别的驱动程序(识别计算机上使用的文件系统)。

adapt

适配器驱动程序(识别硬件项目,如键盘、鼠标和磁盘驱动器)。

interact

该服务可以与桌面交互,接收来自用户的输入。交互式服务必须在LocalSystem帐户下运行。

此类型必须与type= owntype= shared(例如,type= interact type= own)一起使用。

使用type= interact本身就会产生一个无效的参数错误。

start= { boot | system | auto | demand | disabled : 指定服务的开始类型。

Value

Description

boot

由引导加载程序加载的设备驱动程序。

system

在内核初始化期间启动的设备驱动程序。

auto

一种服务,每当计算机重新启动并运行,即使没有人登录计算机,它也会自动启动。

demand

必须手动启动的服务。如果start=没有指定,那么这就是默认值。

disabled

无法启动的服务。要启动一个禁用的服务,将start类型更改为其他值。

error= { normal | severe | critical | ignore : 如果服务在启动期间不能启动,则指定错误的严重程度。

Value

Description

normal

错误会被记录,并且会显示一个消息框,通知用户一个服务没有启动。程序将继续下去。这是默认设置。

severe

错误被记录(如果可能的话)。计算机试图以最后一组良好的配置重新启动。这可能导致计算机能够重新启动,但是服务可能仍然无法运行。

critical

错误被记录(如果可能的话)。计算机试图以最后一组良好的配置重新启动。如果最后一个好的配置失败了,启动也会失败,引导过程会停止错误。

ignore

错误被记录,启动继续。除了记录事件日志中的错误之外,没有通知用户。

binpath=   BinaryPathName   : 指定服务二进制文件的路径。

group=   LoadOrderGroup   指定该服务为成员的组的名称。组的列表存储在HKLM系统CurrentControlSet控制ServiceGroupOrder子键的注册表中。默认为空。

tag= { yes | no 指定是否从CreateService调用中获得一个TagID。标签只用于启动启动和系统启动驱动程序。

depend=   dependencies   指定必须在此服务之前启动的服务或组的名称。名称由前斜杠(/)分隔开。

obj= { AccountName | ObjectName :指定服务将运行的帐户的名称,或指定驱动程序运行的Windows驱动程序对象的名称。缺省值是LocalSystem。

displayname=   DisplayName   指定一个友好的、有意义的名称,可以在用户界面程序中使用,以识别用户的服务。例如,一个服务的子键名是wuauserv,它对用户没有帮助,显示名是自动更新。

password=   Password   指定一个密码。如果使用的是LocalSystem帐户以外的帐户,则需要这样做。

/ ?在命令提示符中显示帮助。

Remarks

  • 如果没有一个parameter 和 value之间的空间(例如,type=属于自己,而不是类型=自身),操作就会失败。

Examples

下面的示例展示了如何使用 sc config 命令:

sc config NewService binpath= “ntsd -d c:windowssystem32NewServ.exe”

sc continue

Sends a CONTINUE control request to a service in order to resume a paused service.

Top of page 

Syntax

sc [ServerNamecontinue [ServiceName]

Top of page 

Parameters

ServerName   : 指定服务所在的远程服务器的名称。名称必须使用通用命名约定(UNC)格式(“myserver”)。要在本地运行sc.exe,请忽略这个参数。

ServiceName   Specifies the service name returned by the getkeyname operation.

/? Displays help at the command prompt.

Top of page 

Remarks

  • Use the continue operation to resume a paused service.

Top of page 

Examples

The following example shows how you can use the sc continue command:

sc continue tapisrv

sc control

Sends a CONTROL B to a service.

Top of page 

Syntax

sc[ServerNamecontrol [ServiceName] [{paramchange|netbindadd|netbindremove|netbindenable|netbinddisable|UserDefinedControlB}]

Top of page 

Parameters

ServerName   : 指定服务所在的远程服务器的名称。名称必须使用通用命名约定(UNC)格式(“myserver”)。要在本地运行sc.exe,请忽略这个参数。

ServiceName   Specifies the service name returned by the getkeyname operation.

{ paramchange | netbindadd | netbindremove | netbindenable | netbinddisable | UserDefinedControlB Specifies a control to send to a service.

/? Displays help at the command prompt.

sc create

在注册中心和服务控制管理器的数据库中为服务创建一个子键和条目。

Syntax

sc [ServerNamecreate [ServiceName] [type= {own|share|kernel|filesys|rec|adapt|interact type= {own|share}}] [start={boot|system|auto|demand|disabled}] [error={normal|severe|critical|ignore}] [binpath= BinaryPathName] [group= LoadOrderGroup] [tag={yes|no}] [depend= dependencies] [obj= {AccountName|ObjectName}] [displayname= DisplayName] [password= Password]

Parameters

ServerName   : 指定服务所在的远程服务器的名称。名称必须使用通用命名约定(UNC)格式(“myserver”)。要在本地运行sc.exe,请忽略这个参数。

ServiceName   : 指定由getkeyname操作返回的服务名称。

type= { own | share | kernel | filesys | rec | adapt | interact   type= { own | share }}   : 指定了服务类型. 默认的类型 own.

Value

Description

own

服务运行在自己的进程中。它不与其他服务共享一个可执行文件。这是默认的。

share

该服务作为一个共享过程运行。它与其他服务共享一个可执行文件。

kernel

驱动程序

filesys

文件系统驱动程序。

rec

文件系统识别的驱动程序(识别计算机上使用的文件系统)。

interact

该服务可以与桌面交互,接收来自用户的输入。交互式服务必须在LocalSystem帐户下运行。

此类型必须与type= owntype= shared(例如,type= interact type= own)一起使用。

使用type= interact本身就会产生一个无效的参数错误。

start= { boot | system | auto | demand | disabled 指定服务的开始类型。默认的开始是 start= demand.

   

boot

由引导加载程序加载的设备驱动程序。

system

在内核初始化期间启动的设备驱动程序。

auto

一种服务,每当计算机重新启动并运行,即使没有人登录计算机,它也会自动启动。

demand

必须手动启动的服务。这是默认值start没有指定。

disabled

无法启动的服务。要启动一个禁用的服务,将start类型更改为其他值。

error= { normal | severe | critical | ignore 如果服务在启动期间不能启动,则指定错误的严重程度。默认值是error= normal.

   

normal

错误会被记录,并且会显示一个消息框,通知用户一个服务没有启动。公司将继续下去。这是默认设置。

severe

错误被记录(如果可能的话)。计算机试图以最后一组良好的配置重新启动。这可能导致计算机能够重新启动,但是服务可能仍然无法运行。

critical

错误被记录(如果可能的话)。计算机试图以最后一组良好的配置重新启动。如果最后一个好的配置失败了,启动也会失败,引导过程会停止错误。

ignore

错误被记录,启动继续。除了记录事件日志中的错误之外,没有通知用户。

binpath=   BinaryPathName   指定服务二进制文件的路径。没有默认值 ,binpath这个字符串必须提供.

group=   LoadOrderGroup   :指定该服务为成员的组的名称。组的列表存储在注册表中 HKLMSystemCurrentControlSetControlServiceGroupOrder subkey. 默认为空。

tag= { yes | no 指定是否从CreateService调用中获得一个TagID。标签只用于启动启动和系统启动驱动程序。

depend=   dependencies   指定必须在此服务之前启动的服务或组的名称。名称由前斜杠(/)分隔开。

obj= { AccountName | ObjectName : 指定服务将运行的帐户的名称,或指定驱动程序运行的Windows驱动程序对象的名称。

displayname=   DisplayName   : 指定一个友好的名称,用户界面程序可以使用它来标识服务。

password=   Password   指定一个密码。如果使用的是LocalSystem以外的帐户,则需要这样做。

/? : 在命令提示符中显示帮助。 

Remarks

  • 没有参数和值之间的空格操作将会失败(正确:type= own, 错误:type=own),

Examples

下面的例子展示了如何使用 sc create 命令:

sc \myserver create NewService binpath= c:windowssystem32NewServ.exe 
sc create NewService binpath= c:windowssystem32NewServ.exe type= share start= auto depend= “+TDI Netbios”

sc create ServerWCF binPath= “F:/SalesAndSalesManagement/ServerWCF/bin/Release/ServerWCF.exe” TYPE= “own” start= “auto” TAG= “no” DisplayName= “ServerWCF”

 

sc delete

从注册表中删除服务子键。如果服务正在运行,或者另一个进程对服务有一个打开的句柄,那么该服务将被标记为删除。

Syntax

sc [ServerNamedelete [ServiceName]

Parameters

ServerName   指定服务所在的远程服务器的名称。名称必须使用UNC格式(“myserver”)。要在本地运行sc.exe,请忽略这个参数。

ServiceName   : 指定由该服务返回的服务名称 getkeyname 操作.

/? :在命令提示符中显示帮助。

Remarks

  • 使用添加或删除程序来删除DHCP、DNS或任何其他内置的操作系统服务。添加或删除程序不仅会删除服务的注册表子键,还会卸载服务并删除服务的任何快捷方式。

Examples

下面的示例展示了如何使用 sc delete 命令:

sc delete newserv

 

sc description

为服务设置描述字符串。

Syntax

sc [ServerNamedescription [ServiceName] [Description]

Top of page 

Parameters

ServerName   Specifies the name of the remote server on which the service is located. The name must use the UNC format (“\myserver”). To run SC.exe locally, ignore this parameter.

ServiceName   Specifies the service name returned by the getkeyname operation.

Description   Specifies a description for the specified service. If no string is specified, the description of the service is not modified. There is no limit to the number of characters that can be contained in the service description.

/? Displays help at the command prompt.

Top of page 

Examples

The following example shows how you can use the sc description command:

sc description newserv “Runs quality of service control.”

sc enumdepend

Lists the services that cannot run unless the specified service is running.

Top of page 

Syntax

sc [ServerNameenumdepend [ServiceName] [BufferSize]

Top of page 

Parameters

ServerName   Specifies the name of the remote server on which the service is located. The name must use the UNC format (“\myserver”). To run SC.exe locally, ignore this parameter.

ServiceName   Specifies the service name returned by the getkeyname operation.

BufferSize   Specifies the size (in bytes) of the enumeration buffer. The default is 1024 bytes.

/? Displays help at the command prompt.

Top of page 

Remarks

  • If the buffer is not big enough, the enumdepend operation will output dependencies only partially, and will specify the additional buffer size required to output all dependencies. If the output is truncated, rerun the operation and specify the larger buffer size.

Top of page 

Examples

The following examples show how you can use the sc enumdepend command:

sc enumdepend rpcss 5690 
sc enumdepend tapisrv

sc failure

Specifies what action to take upon failure of the service.

Top of page 

Syntax

sc [ServerNamefailure [ServiceName] [reset= ErrorFreePeriod] [reboot= BroadcastMessage] [command= CommandLine] [actions= FailureActionsAndDelayTime]

Top of page 

Parameters

ServerName   Specifies the name of the remote server on which the service is located. The name must use the UNC format (“\myserver”). To run SC.exe locally, ignore this parameter.

ServiceName   Specifies the service name returned by the getkeyname operation.

reset=   ErrorFreePeriod   Specifies the length of the period (in seconds) with no failures after which the failure count should be reset to 0. This parameter must be used in conjunction with the actions= parameter.

reboot=   BroadcastMessage   Specifies the message to be broadcast upon failure of the service.

command=   CommandLine   Specifies the command line to be run upon failure of the service. For more information about how to run a batch or VBS file upon failure, see Remarks.

actions=   FailureActionsAndDelayTime   Specifies the failure actions and their delay time (in milliseconds) separated by the forward slash (/). The following actions are valid: runrestart, and reboot. This parameter must be used in conjunction with the reset=parameter. Use actions= “” to take no action upon failure.

/? Displays help at the command prompt.

Top of page 

Remarks

  • Not all services allow changes to their failure options. Some run as part of a service set.

  • To run a batch file upon failure, specify cmd.exe Drive:FileName.bat to the command= parameter, where Drive:FileName.batis the fully qualified name of the batch file.

  • To run a VBS file upon failure, specify cscript drive:myscript.vbs to the command= parameter, where drive:myscript.vbs is the fully qualified name of the script file.

  • It is possible to specify three different actions to the actions= parameter, which will be used the first, second, and third time a service fails.

  • Without a space between a parameter and its value (that is, type= own, not type=own), the operation will fail.

Top of page 

Examples

The following examples show how you can use the sc failure command:

sc failure msftpsvc reset= 30 actions= restart/5000 
sc failure dfs reset= 60 command= c:windowsservicesrestart_dfs.exe actions= run/5000 
sc failure dfs reset= 60 actions= reboot/30000 
sc failure dfs reset= 60 reboot= “The Distributed File System service has failed. Because of this, the computer will reboot in 30 seconds.” actions= reboot/30000 
sc failure myservice reset= 3600 reboot= “MyService crashed — rebooting machine” command= “ %windir%MyServiceRecovery.exe” actions= restart/5000/run/10000/reboot/60000

sc getdisplayname

Gets the display name associated with a particular service.

Top of page 

Syntax

sc [ServerNamegetdisplayname [ServiceName] [BufferSize]

Top of page 

Parameters

ServerName   Specifies the name of the remote server on which the service is located. The name must use the UNC format (“\myserver”). To run SC.exe locally, ignore this parameter.

ServiceName   Specifies the service name returned by the getkeyname operation.

BufferSize   Specifies the size (in bytes) of the buffer. The default is 1024 bytes.

/? Displays help at the command prompt.

Top of page 

Examples

The following examples show how you can use the sc getdisplayname command:

sc getdisplayname clipsrv 
sc getdisplayname tapisrv 
sc getdisplayname sharedaccess

sc getkeyname

Gets the key name associated with a particular service, using the display name as input.

Top of page 

Syntax

sc [ServerNamegetkeyname [ServiceDisplayName] [BufferSize]

Top of page 

Parameters

ServerName   Specifies the name of the remote server on which the service is located. The name must use the UNC format (“\myserver”). To run SC.exe locally, ignore this parameter.

ServiceDisplayName   Specifies the display name of the service.

BufferSize   Specifies the size (in bytes) of the buffer. The default is 1024 bytes.

/? Displays help at the command prompt.

Top of page 

Remarks

  • If the ServiceDisplayName contains spaces, use quotation marks around the text (that is, Service Display Name).

Top of page 

Examples

The following examples show how you can use the sc getkeyname command:

sc getkeyname “remote procedure call (rpc)” 
sc getkeyname “internet connection sharing” 
sc getkeyname clipbook

sc interrogate

Sends an INTERROGATE control request to a service.

Top of page 

Syntax

sc [ServerNameinterrogate [ServiceName]

Top of page 

Parameters

ServerName   Specifies the name of the remote server on which the service is located. The name must use the UNC format (“\myserver”). To run SC.exe locally, ignore this parameter.

ServiceName   Specifies the service name returned by the getkeyname operation.

/? Displays help at the command prompt.

Top of page 

Remarks

  • Sending INTERROGATE to a service causes the service to update its status with the Service Control Manager.

Top of page 

Examples

The following examples show how you can use the sc interrogate command:

sc interrogate sharedaccess 
sc interrogate rpcss

sc lock

Locks the Service Control Manager’s database.

Top of page 

Syntax

sc [ServerNamelock

Top of page 

Parameters

ServerName   Specifies the name of the remote server on which the service is located. The name must use the UNC format (“\myserver”). To run SC.exe locally, ignore this parameter.

/? Displays help at the command prompt.

Top of page 

Remarks

  • Locking the Service Control Manager’s database prevents any services from starting. Use this if you want to make sure that a service will not be started after it has been stopped. This will allow you to take some action (for example, deleting the service) without interference.

  • Using the lock operation locks the Service Control Manager’s database and then allows the database to be unlocked by typingu. You can also kill the process from which you locked the database.

Top of page 

Examples

The following example shows how you can use the sc lock command:

sc lock

sc pause

Sends a PAUSE control request to a service.

Top of page 

Syntax

sc [ServerNamepause [ServiceName]

Top of page 

Parameters

ServerName   Specifies the name of the remote server on which the service is located. The name must use the UNC format (“\myserver”). To run SC.exe locally, ignore this parameter.

ServiceName   Specifies the service name returned by the getkeyname operation.

/? Displays help at the command prompt.

Top of page 

Remarks

  • Use the pause operation to pause a service before shutting it down.

  • Not all services can be paused.

  • Not all services perform the same when paused. Some continue to service existing clients, but refuse to accept new clients. Others cease to service existing clients and also refuse to accept new ones.

Top of page 

Examples

The following example shows how you can use the sc pause command:

sc pause tapisrv

sc qc

Queries the configuration information for a service.

Top of page 

Syntax

sc [ServerNameqc [ServiceName] [BufferSize]

Top of page 

Parameters

ServerName   Specifies the name of the remote server on which the service is located. The name must use the UNC format (“\myserver”). To run SC.exe locally, ignore this parameter.

ServiceName   Specifies the service name returned by the getkeyname operation.

BufferSize   Specifies the size (in bytes) of the buffer. The default is 1024 bytes.

/? Displays help at the command prompt.

Top of page 

Remarks

  • The qc operation displays the following information about a service: SERVICE_NAME (service’s registry subkey name), TYPE, ERROR_CONTROL, BINARY_PATH_NAME, LOAD_ORDER_GROUP, TAG, DISPLAY_NAME, DEPENDENCIES, and SERVICE_START_NAME.

  • Administrators can use SC to determine the binary name of any service and find out if it shares a process with other services by typing the following at the command line:

    sc qc ServiceName

    SC can help match up services in the Services node of Microsoft Management Console (MMC) with processes in System Monitor. If the binary name is Services.exe, then the service shares the Service Controller process.

    Services.exe starts all services. To conserve system resources, several Win32 services developed for Windows are written to share the Services.exe process. These services are not listed as separate processes in System Monitor or Task Manager. The same is true of Svchost.exe which is a service host process that many operating services share.

    There might not be a process for every Win32 service because third-party Win32 services can also be configured to share processes. SC can be used to get configuration information on these services. If a service does not share its process with other services, however, there will be a process for it in System Monitor when the service is running.

  • SC can be useful for developers of services because it provides more detailed and accurate information about services than Services.exe, which is included with Windows. Services.exe can determine whether a service is running, stopped, or paused. Although these tools are adequate for a debugged application that is running smoothly, the information they provide about a service being developed can be misleading. For example, a service that is starting is shown as started whether it is actually running or not.

    SC implements calls to all Windows service control application programming interface (API) functions. Set the parameters to these functions by specifying them at the command line.

    Using SC, you can query the service status and retrieve the values stored in the status structure fields. Services.exe cannot provide you with the complete status of a service, but SC shows the exact state of the service, as well as the last checkpoint number and wait hint. You can use the checkpoint as a debugging tool because it indicates how far the initialization progressed before the program stopped responding. SC also lets you specify the name of a remote computer so that you can call the service API functions or view the service status structures on a remote computer.

Top of page 

Examples

The following examples show how you can use the sc qc command:

sc qc \myserver newsrvice 
sc qc rpcss 248

sc qdescription

Displays the description string of a service.

Top of page 

Syntax

sc [ServerNameqdescription [ServiceName] [BufferSize]

Top of page 

Parameters

ServerName   Specifies the name of the remote server on which the service is located. The name must use the UNC format (“\myserver”). To run SC.exe locally, ignore this parameter.

ServiceName   Specifies the service name returned by the getkeyname operation.

BufferSize   Specifies the size (in bytes) of the buffer. The default is 1024 bytes.

/? Displays help at the command prompt.

Top of page 

Examples

The following examples show how you can use the sc qdescription command:

sc qdescription rpcss 
sc qdescription rpcss 138

sc qfailure

Displays the actions that will be performed if the specified service fails.

Top of page 

Syntax

sc [ServerNameqfailure [ServiceName] [BufferSize]

Top of page 

Parameters

ServerName   Specifies the name of the remote server on which the service is located. The name must use the UNC format (“\myserver”). To run SC.exe locally, ignore this parameter.

ServiceName   Specifies the service name returned by the getkeyname peration.

BufferSize   Specifies the size (in bytes) of the buffer. The default is 1024 bytes.

/? Displays help at the command prompt.

Top of page 

Remarks

  • The qfailure operation displays the following information about a service: SERVICE_NAME (service’s registry subkey name), RESET_PERIOD, REBOOT_MESSAGE, COMMAND_LINE, and FAILURE_ACTIONS.

Top of page 

Examples

The following examples show how you can use the sc qfailure command:

sc qfailure rpcss 
sc qfailure rpcss 20

sc query

Obtains and displays information about the specified service, driver, type of service, or type of driver.

Top of page 

Syntax

sc [ServerNamequery [ServiceName] [type= {driver|service|all}] [type= {own|share|interact|kernel|filesys|rec|adapt}] [state={active|inactive|all}] [bufsize= BufferSize] [ri= ResumeIndex] [group= GroupName

Top of page 

Parameters

ServerName   Specifies the name of the remote server on which the service is located. The name must use the UNC format (“\myserver”). To run SC.exe locally, ignore this parameter.

ServiceName   Specifies the service name returned by the getkeyname operation. This query parameter is not used in conjunction with other query parameters (other than ServerName).

type= { driver | service | all }   Specifies what to enumerate. The default type is service.

Value

Description

driver

Specifies that only drivers are enumerated.

service

Specifies that only services are enumerated.

all

Specifies that both drivers and services are enumerated.

type= { own | share | interact | kernel | filesys | rec | adapt }   Specifies the type of services or type of drivers to enumerate.

Value

Description

own

The service runs in its own process. It does not share an executable file with other services. This is the default.

share

The service runs as a shared process. It shares an executable file with other services.

interact

The service can interact with the desktop, receiving input from users. Interactive services must be run under the LocalSystem account.

kernel

Driver.

filesys

File system driver.

state= { active | inactive | all }   Specifies the started state of the service for which to enumerate. The default state is active.

Value

Description

active

Specifies all active services.

inactive

Specifies all paused or stopped services.

all

Specifies all services.

bufsize=   BufferSize   Specifies the size (in bytes) of the enumeration buffer. The default size is 1024 bytes. Increase the size of the enumeration buffer when the display resulting from a query exceeds 1024 bytes.

ri=   ResumeIndex   Specifies the index number at which to begin or resume the enumeration. The default is 0. Use this parameter in conjunction with the bufsize= parameter when more information is returned by a query than the default buffer can display.

group=   GroupName   Specifies the service group to enumerate. The default is all groups.

/? Displays help at the command prompt.

Top of page 

Remarks

  • Without a space between a parameter and its value (that is, type= own, not type=own), the operation will fail.

  • The query operation displays the following information about a service: SERVICE_NAME (service’s registry subkey name), TYPE, STATE (as well as states which are not available), WIN32_EXIT_B, SERVICE_EXIT_B, CHECKPOINT, and WAIT_HINT.

  • The type= parameter can be used twice in some cases. The first appearance of the type= parameter specifies whether to query services, drivers, or all. The second appearance of the type= parameter specifies a type from the create operation to further narrow a query’s scope.

  • When the display resulting from a query command exceeds the size of the enumeration buffer, a message similar to the following is displayed:

    Enum: more data, need 1822 bytes start resume at index 79

    To display the remaining query information, rerun query, setting bufsize= to be the number of bytes and ri= to the specified index. For example, the remaining output would be displayed by typing the following at the command line:

    sc query bufsize= 1822 ri= 79

Top of page 

Examples

The following examples show how you can use the sc query command:

sc query 
sc query messenger 
sc query type= driver 
sc query type= service 
sc query state= all 
sc query bufsize= 50 
sc query ri= 14 
sc query type= service type= interact 
sc query type= driver group= ndis

sc queryex

Obtains and displays extended information about the specified service, driver, type of service, or type of driver.

Top of page 

Syntax

sc [ServerNamequeryex [type= {driver|service|all}] [type= {own|share|interact|kernel|filesys|rec|adapt}] [state={active|inactive|all}] [bufsize= BufferSize] [ri= ResumeIndex] [group= GroupName]

Top of page 

Parameters

ServerName   Specifies the name of the remote server on which the service is located. The name must use the UNC format (“\myserver”). To run SC.exe locally, ignore this parameter.

ServiceName   Specifies the service name returned by the getkeyname operation. This queryex parameter is not used in conjunction with any other queryex parameters except ServerName.

type= { driver | service | all }   Specifies what to enumerate. The default type is service.

Value

Description

driver

Specifies that only drivers are enumerated.

service

Specifies that only services are enumerated.

all

Specifies that both drivers and services are enumerated.

type= { own | share | interact | kernel | filesys | rec | adapt Specifies the type of services or type of drivers to enumerate.

Value

Description

own

The service runs in its own process. It does not share an executable file with other services. This is the default.

share

The service runs as a shared process. It shares an executable file with other services.

interact

The service can interact with the desktop, receiving input from users. Interactive services must be run under the LocalSystem account.

kernel

Driver.

filesys

File system driver.

state= { active | inactive | all }   Specifies the started state of the service for which to enumerate. The default state is active.

Value

Description

active

Specifies all active services.

inactive

Specifies all paused or stopped services.

all

Specifies all services.

bufsize=   BufferSize   Specifies the size (in bytes) of the enumeration buffer. The default size is 1024 bytes.

ri=   ResumeIndex   Specifies the index number at which to begin or resume the enumeration. The default is 0.

group=   GroupName   Specifies the service group to enumerate. The default is all groups.

/? Displays help at the command prompt.

Top of page 

Remarks

  • Without a space between a parameter and its value (that is, type= own, not type=own), the operation will fail.

  • The queryex operation displays the following information about a service: SERVICE_NAME (service’s registry subkey name), TYPE, STATE (as well as states that are not available), WIN32_EXIT_B, SERVICE_EXIT_B, CHECKPOINT, WAIT_HINT, PID, and FLAGS.

  • The type= parameter can be used twice in some cases. The first appearance of the type= parameter specifies whether to query services, drivers, or all. The second appearance of the type= parameter specifies a type from the create operation to further narrow a query’s scope.

  • When the display resulting from a queryex command exceeds the size of the enumeration buffer, a message similar to the following is displayed:

    Enum: more data, need 2130 bytes start resume at index 75

    To display the remaining queryex information, rerun queryex, setting bufsize= to be the number of bytes and ri= to the specified index. For example, the remaining output would be displayed by typing the following at the command line:

    sc queryex bufsize= 2130 ri= 75

Top of page 

Examples

The following examples show how you can use the sc queryex command:

sc queryex messenger 
sc queryex group= “”

sc querylock

Queries and displays the lock status for the Service Control Manager’s database.

Top of page 

Syntax

sc [ServerNamequerylock

Top of page 

Parameter

ServerName   Specifies the name of the remote server on which the service is located. The name must use the UNC format (“\myserver”). To run SC.exe locally, ignore this parameter.

/? Displays help at the command prompt.

sc sdset

Sets a service’s security descriptor using Service Descriptor Definition Language (SDDL).

Top of page 

Syntax

sc [ServerNamesdset ServiceName ServiceSecurityDescriptor

Top of page 

Parameters

ServerName   Specifies the name of the remote server on which the service is located. The name must use the UNC format (“\myserver”). To run SC.exe locally, ignore this parameter.

ServiceName   Specifies the service name returned by the getkeyname operation.

ServiceSecurityDescriptor   Specifies the service descriptor in SDDL.

/? Displays help at the command prompt.

Top of page 

Remarks

  • For more information about SDDL, see “Security Descriptor Definition Language” at the MSDN Online Library .

sc sdshow

Displays a service’s security descriptor using SDDL.

Top of page 

Syntax

sc [ServerNamesdshow ServiceName

Top of page 

Parameters

ServerName   Specifies the name of the remote server on which the service is located. The name must use the UNC format (“\myserver”). To run SC.exe locally, ignore this parameter.

ServiceName   Specifies the service name returned by the getkeyname operation.

/? Displays help at the command prompt.

Top of page 

Remarks

  • For more information about SDDL, see “Security Descriptor Definition Language” at the MSDN Online Library .

Top of page 

Examples

sc sdshow rpcss

sc start

Starts a service running.

Top of page 

Syntax

sc [ServerNamestart ServiceName [ServiceArguments]

Top of page 

Parameters

ServerName   Specifies the name of the remote server on which the service is located. The name must use the UNC format (“\myserver”). To run SC.exe locally, ignore this parameter.

ServiceName   Specifies the service name returned by the getkeyname operation.

ServiceArguments   Specifies service arguments to pass to the service to be started.

/? Displays help at the command prompt.

Top of page 

Examples

The following example shows how you can use the sc start command:

sc start tapisrv

sc stop

Sends a STOP control request to a service.

Top of page 

Syntax

sc [ServerNamestop ServiceName

Top of page 

Parameters

ServerName   Specifies the name of the remote server on which the service is located. The name must use the UNC format (“\myserver”). To run SC.exe locally, ignore this parameter.

ServiceName   Specifies the service name returned by the getkeyname operation.

/? Displays help at the command prompt.

Top of page 

Remarks

  • Not all services can be stopped.

Top of page 

Examples

The following example shows how you can use the sc stop command:

sc stop tapisrv

Top of page 

Remarks

Top of page 

Formatting legend

Format

Meaning

Italic

Information that the user must supply

Bold

Elements that the user must type exactly as shown

Ellipsis (…)

Parameter that can be repeated several times in a command line

Between brackets ([])

Optional items

Between braces ({}); choices separated by pipe (|). Example: {even|odd}

Set of choices from which the user must choose only one

Courier font

Code or program output

 

 

 

CMD命令讲解(一)SC

相关文章:

你感兴趣的文章:

标签云: