ITEEDU

sc query

获得和显示关于指定的服务、驱动器、服务类型或驱动器类型的信息。

语法

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

参数

ServerName

指定服务所在的远程服务器名称。该名称必须使用 UNC 格式 ("\\myserver")。若要在本机上运行 SC.exe,请忽略此参数。

ServiceName

指定由 getkeyname 操作返回的服务名。此 query 参数不与其他的 query 参数结合使用(除了 ServerName)。

type= {driver|service|all}

指定需要列出的内容。默认类型为 service。

driver:仅指定需要枚举的驱动程序。

service:仅指定需要枚举的服务。

all:指定需要枚举的驱动程序和服务器。

type= {own|share|interact|kernel|filesys|rec|adapt}

指定需要枚举的服务类型或驱动程序。

own:服务以其自身的进程运行。不与其它服务共享可执行文件。这是默认设置。

share:服务作为共享进程运行。它与其它服务共享一可执行文件。

interact:服务可以与桌面交互作用,接收用户的输入。交互服务必须以在 LocalSystem 帐户下运行。

kernel:驱动程序

filesys:文件系统驱动程序。

state= {active|inactive|all}

指定用来枚举的服务的已开始状态。默认状态是active。

active:指定所有的激活服务。

inactive:指定所有暂停或停止的服务。

all:指定所有服务。

bufsize= BufferSize

以字节为单位指定枚举缓存区的大小。默认大小为 1024 字节。当从查询返回的显示结果超过 1024 个字节时,增加枚举缓冲区的大小。

ri= ResumeIndex

指定开始或继续枚举的索引数。默认值为 0。在查询返回的信息超过默认缓冲区能够显示的大小时,请与 bufsize= 参数结合使用这个参数。

group= GroupName

指定枚举的服务组。默认设置为所有组。

/?

在命令提示符显示帮助。

注释

如果参数及其值之间没有空格,(例如,是 type= own,而不是 type=own),则操作会失败。

query 操作显示了以下关于服务的信息:SERVICE_NAME (服务在注册表中的子键名)、TYPE、STATE(也是不可用的状态)、WIN32_EXIT_B、SERVICE_EXIT_B、CHECKPOINT 和 WAIT_HINT。

在某些情况下,“type=”参数可以使用两次。“type=”参数的第一次出现指定是否查询服务、驱动器或所有这些。“type=”参数的第二次出现指定一个由“create”操作来进一步缩小查询范围的类型。

当 query 命令的显示结果超过了枚举缓冲区的大小时,显示类似于以下的消息:

Enum:数据超出,在索引 79 处重新启动需要 1822 字节

要显示剩余的 query 信息,重新运行 query,设置 bufsize= 为字节数,设置 ri= 为指定的索引。例如,在命令行键入下列指令会显示剩余的输出:

sc query bufsize= 1822 ri= 79

范例

下面的范例显示了如何使用 sc query 命令:

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 

未完见下页