SC的相关资料.docx
《SC的相关资料.docx》由会员分享,可在线阅读,更多相关《SC的相关资料.docx(31页珍藏版)》请在冰豆网上搜索。
SC的相关资料
SC
远程创建,并从命令行启动服务,您可以使用资源工具包中包含SC工具(Sc.exe)。
尽管在远程计算机上启动服务,您可以使用Netsvc.exe和Instsrv.exe工具,这些工具不使您能够远程创建服务。
注意Srvinstw.exe工具是用于创建远程服务的图形用户界面(GUI)版本。
Srvinstw.exe不是一个命令行工具。
回到顶端
更多信息
使用Sc.exe可以帮助开发的Windows服务。
Sc.exe,资源工具包中提供实现对所有在Windows服务的控件应用程序编程接口(API)函...
使用Sc.exe可以帮助开发的Windows服务。
Sc.exe,资源工具包中提供实现对所有在Windows服务的控件应用程序编程接口(API)函数的调用。
您可以通过在命令行上指定这些设置对这些函数的参数。
Sc.exe也显示服务状态,并检索存储在状态结构字段中的值。
该工具还允许您指定的远程计算机名称,以便您可以调用服务API函数或查看远程计算机上的服务状态结构。
Sc.exe还允许您调用服务控制的任何API函数并从命令行参数的任何变化。
此优点是它提供了一种创建或配置注册表和$服务控制管理器数据库中的服务信息的简便方法。
您不必通过在注册表中手动创建项,然后重新启动计算机,强制更新其数据库的服务控制管理器来配置该服务。
Sc.exe使用以下语法:
Syntax1(使用Syntax1运行Sc.exe)
sc[服务器名]命令Servicename[Optionname=Optionvalue...]
Syntax2(若要显示的除外查询命令的帮助信息,使用Syntax2)
sc[命令]
回到顶端
参数
∙服务器名
可选。
当您要在远程计算机上运行的命令时,请指定服务器的名称。
名称必须以两个反斜杠(\)字符开头(例如对于\myserver)。
若要在本地计算机上运行Sc.exe,不提供此参数。
∙命令
指定sc命令。
请注意许多sc命令要求在指定的计算机上的管理权限。
Sc.exe支持以下命令:
配置
(永久)服务的配置更改。
继续
将继续控制请求发送到服务。
控件
将控件发送到服务。
创建
创建一个服务(将其添加到注册表)。
删除
删除一项服务(从注册表中)。
EnumDepend
枚举服务依存关系。
GetDisplayName
获取服务的显示名称。
GetKeyName
获取为服务ServiceKeyName。
询问
将一个Interrogate控制请求发送到服务。
暂停
将暂停控制请求发送到服务。
qc
查询该服务的配置。
有关详细的信息,请参阅参考部分"SCQC。
查询
查询某个服务的状态或枚举类型的服务的状态。
有关详细的信息,请参阅参考部分"SCQUERY。
启动
启动服务
停止
将停止请求发送到服务。
∙Servicename
指定提供给注册表中的服务项名称。
请注意这是不同于在显示名称(这是您使用netstart命令和服务工具中ControlPanel看到的内容。
Sc.exe服务的主标识符使用服务的密钥名称。
∙Optionname
Optionname和Optionvalue参数允许您指定的名称和可选的命令参数的值。
请注意没有该Optionname和等号之间没有空格。
您可以提供无,一个,或多个可选参数的名称/值对。
∙Optionvalue
指定由Optionname命名参数的值。
有效值的范围通常是为每个Optionname限制的。
可用值一个资源列表的请求为每个命令的帮助。
很多命令需要管理员权限。
请确保您是正在执行在开发计算机的管理员。
sc创建命令创建该服务有关的条目,在注册表中和在服务控制管理器数据库中。
语法
sc[服务器名]创建Servicename[Optionname=Optionvalue...
回到顶端
参数
∙服务器名
可选。
当您要在远程计算机上运行的命令时,请指定服务器的名称。
名称必须以两个反斜杠字符开头(例如对于\myserver)。
若要在本地计算机上运行SC,不提供此参数。
∙Servicename
指定提供给注册表中的服务项名称。
请注意这是不同于显示名称,这是使用netstart和服务工具,在控制面板中看到的内容。
Sc.exe服务的主标识符使用服务的密钥名称。
∙Optionname
Optionname和Optionvalue参数允许您指定的名称和可选参数的值。
请注意没有该Optionname和等号之间没有空格。
您可以提供无,一个,或多个可选参数的名称/值对。
sc查询命令会支持下列值:
OptionnameOptionvalue
类型=拥有、共享、交互,内核,filesys
您想要创建的服务的类型。
Optionvalues包括驱动程序使用的类型。
(默认值=共享)
启动=引导,系统、自动、已禁用的需求
启动该服务的类型。
选项值包括驱动程序使用的类型。
(默认值=按需)
错误=正常、严重、重要,忽略
如果在启动过程中不能启动该服务的错误的严重度。
(默认值=标准)
binPath=(字符串)
服务二进制文件的路径名称。
没有为此参数默认值。
必须提供此字符串。
组=(字符串)
此服务是成员的组的名称。
在ServiceGroupOrder注册表中存储组的列表。
(默认值=执行任何操作)
标记=(字符串)
如果该字符串设置为"是",Sc.exeCreateService调用中获得一个TagId,但是,Sc.exe不显示标记。
(默认值=执行任何操作)
取决于=(空格分隔字符串)
服务或$在此项服务之前必须启动的组的名称。
obj=(字符串)
运行服务帐户的名称。
驱动程序,这是Windows驱动程序的对象名称。
(默认值=本地系统)
显示名称=(字符串)
一个字符串,它可由用户界面程序用于标识服务。
密码=(字符串)
密码字符串。
如果使用非本地系统帐户,这是必需的。
Optionvalue
指定由Optionname命名参数的值。
请参阅Optionname参考有关受支持的值的列表。
要将输入字符串时,使用空的引号意味着在传递一个空字符串。
请注意没有选项值和等号之间的空间。
注意sc创建命令执行CreateServiceAPI函数的操作。
下面的示例创建名为"NewService"在计算机上的调用该服务的注册表项\remotecomputer:
sc\\remotecomputer创建newservicebinpath=c:
\nt\system32\newserv.exe
注意在Windows2000、WindowsXP、WindowsServer2003、WindowsVista和WindowsServer2008中,该binpath位于C:
\Windows\System32\Newserv.exe。
默认情况下,此服务被创建为一个WIN32_SHARE_PROCESSSERVICE_DEMAND_START开始类型。
它不具有所有的依存关系,并在本地系统安全上下文中运行。
下面的示例将创建本地计算机上运行在其自身进程中的一个自动启动服务的服务。
TDI组和NetBIOS服务,它具有依赖项。
请注意您必须添加引号以空格分隔的依赖项的列表。
sc创建newservicebinpath=c:
\nt\system32\newserv.exe类型=自己开始=自动取决于="+tdinetbios"
注意在Windows2000、WindowsXP、WindowsServer2003、WindowsVista和WindowsServer2008中,该binpath位于C:
\Windows\System32\Newserv.exe。
有关进一步的详细信息Sc.exe工具,请参阅Scdev.txt文档资源工具包中。
本文档中更详细地介绍Sc.exe。
SC
与“服务控制器”和已安装设备进行通讯。
SC.exe检索和设置有关服务的控制信息。
可以使用SC.exe来测试和调试服务程序。
可以设置存储在注册表中的服务属性,以控制如何在启动时启动服务应用程序,以及如何将其作为后台程序运行。
SC.exe的参数可以配置指定的服务,检索当前服务的状态,也可以停止和启动服务。
可以创建批处理文件来调用不同的SC.exe命令,以自动启动或关闭服务序列。
SC.exe提供的功能类似于“控制面板”中“管理工具”项中的“服务”。
有关命令的语法,请单击下面任一sc命令:
∙scboot
∙scconfig
∙sccontinue
∙sccontrol
∙sccreate
∙scdelete
∙scdescription
∙scenumdepend
∙scfailure
∙scgetdisplayname
∙scgetkeyname
∙scinterrogate
∙sclock
∙scpause
∙scqc
∙scqdescription
∙scqfailure
∙scquery
∙scqueryex
∙scquerylock
∙scsdset
∙scsdshow
∙scstart
∙scstop
scboot
表明最近的启动是否应该保存为上次已知的正确配置。
语法
Sc[ServerName]boot[{bad|OK}]
参数
ServerName
指定服务所在的远程服务器的名称。
名称必须采用通用命名约定(UNC)格式(“\\myserver”)。
要在本地运行SC.exe,请忽略此参数。
[{bad|OK}]
指定最近的启动是否错误或它是否应该保存为上次已知的正确启动配置。
/?
在命令提示符下显示帮助。
示例
下面的示例显示了如何使用scboot命令:
scbootok
scbootbad
scconfig
修改注册表和“服务控制管理器”数据库中服务项目的值。
语法
Sc[ServerName]config[ServiceName][type={own|share|kernel|filesys|rec|adapt|interacttype={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