使用命令行启动服务
转载自:http://zhidao.baidu.com/question/170804787.html
使用命令行启动服务
在cmd下可有两种方法打开,net和sc,net用于打开没有被禁用的服务,语法是:
netstart服务名启动netstart服务名
停止netstop服务名
netstop服务名
用sc可打开被禁用的服务,语法是:
scconfig服务名start=demand//手动
sccondig服务名start=auto//自动
scconfig服务名start=disabled//禁用
scstart服务名
scstop服务名
注:1)服务名不一定是你在服务面板看到的那个名,例如,你要打开被禁用的telnet服务,scconfigtelnetstart=auto,报错:[SC]OpenServiceFAILED1060,因为telnet的服务名不是telnet而是tlntsvr,scconfigtlntsvrstart=auto就OK了,在服务面板里查看telnet属性,从可执行文件的路径里可看到服务程序名,即命令中的服务名。2)start=后面有空格,少了就有错
sc.exe命令功能列表:注:以下命令中。=号后面都有一个空格,=号前面没有空格!
1.更改服务的启动状态(这是比较有用的一个功能)
2.删除服务(除非对自己电脑的软、硬件所需的服务比较清楚,否则不建议删除任何系统服务,特别是基础服务)
3.停止或启动服务(功能上类似于netstop/start,但速度更快且能停止的服务更多)
具体的命令格式如下:
修改服务启动类型的命令行格式为(特别注意start=后面有一个空格)
scconfig服务名称start=demand(设置服务为手动启动)
scconfig服务名称start=disabled(设置服务为禁用)
停止/启动服务的命令行格式为
scstop/start服务名称
注意:平时常接触的都是服务的显示名称,而以上所指是服务名称,都可以在控制面板->管理工具->服务里面,双击对应的服务来查询。
先举例说明一下具体的设置方法:
如设置远程注册表服务为手动其格式为
scconfigRemoteRegistrystart=demand
设为禁用的格式为:
scconfigRemoteRegistrystart=disabled
停止服务则格式为:
scstopRemoteRegistry
首先把自己所需设置的服务名称查到之后,按照上面的格式做成批处理文件,重装系统之后只要运行批处理文件即可。
以下是我的设置,以XpSp2为蓝本,可比对所用的系统进行增删和修改。注:未加入XpSp2的自动更新、安全中心、防火墙。
scconfigAlerterstart=demand
scconfigTrkWksstart=demand
scconfighelpsvcstart=demand
scconfigpolicyAgentstart=demand
scconfigdmserverstart=demand
scconfigWmdmpmSnstart=demand
scconfigSpoolerstart=demand
scconfigRemoteRegistrystart=demand
scconfigNtmsSvcstart=demand
scconfigseclogonstart=demand
scconfigSchedulestart=demand
scconfigWebClientstart=demand
scconfigW32Timestart=demand
scconfigWZCSVCstart=demand
scconfigERSvcstart=demand
scconfigThemesstart=demand
scconfigFastUserSwitchingCompatibilitystart=disabled
scconfigMessengerstart=disabled
scconfigprotectedStoragestart=disabled
scconfigSSDpSRVstart=disabled
scconfigTermServicestart=disabled
scconfigShellHWDetectionstart=disabled
如果需要立即关闭服务也可把以下代码跟在上面的代码之后
scstopW32Time
scstopShellHWDetection
scstopTrkWks
scstophelpsvc
scstopdmserver
scstoppolicyAgent
scstopSpooler
scstopRemoteRegistry
scstopseclogon
scstopSchedule
scstopWZCSVC
scstopERSvc
scstopThemes
scstopFastUserSwitchingCompatibility
scstopprotectedStorage
scstopSSDpSRV
scstopWebClient
最后把修改好之后的代码存为services.cmd,在以后进行服务设置时,直接运行事先保存好的批处理文件就可以做到事半功倍了。
看到这里,使用Win2000的朋友也不必失望,sc.exe这个命令行工具对Win2000同样适用,可从装有WinXp或者Win2003的机器里面拷贝sc.exe文件,与保存好的批处理文件放在一起,然后执行批处理文件即可。
对注册表比较熟悉的朋友可能会想到用注册表来设置服务的启动类型,这也是一种可行的方法,本身却有着内在不足。原因是服务启动类型在注册表中对应的键值较长且分散,进行整理不方便直观且易错漏,所以这种方法比较适用于无人值守的安装时使用。
使用案例:
在命令行下启动自动更新服务:
C:\>scconfigwuauservstart=auto
[SC]ChangeServiceConfigSUCCESS
C:\>scstartwuauserv
SERVICE_NAME:wuauserv
TYPE:20WIN32_SHARE_PROCESS
STATE:2START_PENDING
(NOT_STOPPABLE,NOT_PAUSABLE,IGNORES_SHUTDOWN)
WIN32_EXIT_CODE:0(0x0)
SERVICE_EXIT_CODE:0(0x0)
CHECKPOINT:0x0
WAIT_HINT:0x7d0
PID:1156
FLAGS:
C:\>
使用命令行启动服务
在cmd下可有两种方法打开,net和sc,net用于打开没有被禁用的服务,语法是:
netstart服务名启动netstart服务名
停止netstop服务名
netstop服务名
用sc可打开被禁用的服务,语法是:
scconfig服务名start=demand//手动
sccondig服务名start=auto//自动
scconfig服务名start=disabled//禁用
scstart服务名
scstop服务名
注:1)服务名不一定是你在服务面板看到的那个名,例如,你要打开被禁用的telnet服务,scconfigtelnetstart=auto,报错:[SC]OpenServiceFAILED1060,因为telnet的服务名不是telnet而是tlntsvr,scconfigtlntsvrstart=auto就OK了,在服务面板里查看telnet属性,从可执行文件的路径里可看到服务程序名,即命令中的服务名。2)start=后面有空格,少了就有错
sc.exe命令功能列表:注:以下命令中。=号后面都有一个空格,=号前面没有空格!
1.更改服务的启动状态(这是比较有用的一个功能)
2.删除服务(除非对自己电脑的软、硬件所需的服务比较清楚,否则不建议删除任何系统服务,特别是基础服务)
3.停止或启动服务(功能上类似于netstop/start,但速度更快且能停止的服务更多)
具体的命令格式如下:
修改服务启动类型的命令行格式为(特别注意start=后面有一个空格)
scconfig服务名称start=demand(设置服务为手动启动)
scconfig服务名称start=disabled(设置服务为禁用)
停止/启动服务的命令行格式为
scstop/start服务名称
注意:平时常接触的都是服务的显示名称,而以上所指是服务名称,都可以在控制面板->管理工具->服务里面,双击对应的服务来查询。
先举例说明一下具体的设置方法:
如设置远程注册表服务为手动其格式为
scconfigRemoteRegistrystart=demand
设为禁用的格式为:
scconfigRemoteRegistrystart=disabled
停止服务则格式为:
scstopRemoteRegistry
首先把自己所需设置的服务名称查到之后,按照上面的格式做成批处理文件,重装系统之后只要运行批处理文件即可。
以下是我的设置,以XpSp2为蓝本,可比对所用的系统进行增删和修改。注:未加入XpSp2的自动更新、安全中心、防火墙。
scconfigAlerterstart=demand
scconfigTrkWksstart=demand
scconfighelpsvcstart=demand
scconfigpolicyAgentstart=demand
scconfigdmserverstart=demand
scconfigWmdmpmSnstart=demand
scconfigSpoolerstart=demand
scconfigRemoteRegistrystart=demand
scconfigNtmsSvcstart=demand
scconfigseclogonstart=demand
scconfigSchedulestart=demand
scconfigWebClientstart=demand
scconfigW32Timestart=demand
scconfigWZCSVCstart=demand
scconfigERSvcstart=demand
scconfigThemesstart=demand
scconfigFastUserSwitchingCompatibilitystart=disabled
scconfigMessengerstart=disabled
scconfigprotectedStoragestart=disabled
scconfigSSDpSRVstart=disabled
scconfigTermServicestart=disabled
scconfigShellHWDetectionstart=disabled
如果需要立即关闭服务也可把以下代码跟在上面的代码之后
scstopW32Time
scstopShellHWDetection
scstopTrkWks
scstophelpsvc
scstopdmserver
scstoppolicyAgent
scstopSpooler
scstopRemoteRegistry
scstopseclogon
scstopSchedule
scstopWZCSVC
scstopERSvc
scstopThemes
scstopFastUserSwitchingCompatibility
scstopprotectedStorage
scstopSSDpSRV
scstopWebClient
最后把修改好之后的代码存为services.cmd,在以后进行服务设置时,直接运行事先保存好的批处理文件就可以做到事半功倍了。
看到这里,使用Win2000的朋友也不必失望,sc.exe这个命令行工具对Win2000同样适用,可从装有WinXp或者Win2003的机器里面拷贝sc.exe文件,与保存好的批处理文件放在一起,然后执行批处理文件即可。
对注册表比较熟悉的朋友可能会想到用注册表来设置服务的启动类型,这也是一种可行的方法,本身却有着内在不足。原因是服务启动类型在注册表中对应的键值较长且分散,进行整理不方便直观且易错漏,所以这种方法比较适用于无人值守的安装时使用。
使用案例:
在命令行下启动自动更新服务:
C:\>scconfigwuauservstart=auto
[SC]ChangeServiceConfigSUCCESS
C:\>scstartwuauserv
SERVICE_NAME:wuauserv
TYPE:20WIN32_SHARE_PROCESS
STATE:2START_PENDING
(NOT_STOPPABLE,NOT_PAUSABLE,IGNORES_SHUTDOWN)
WIN32_EXIT_CODE:0(0x0)
SERVICE_EXIT_CODE:0(0x0)
CHECKPOINT:0x0
WAIT_HINT:0x7d0
PID:1156
FLAGS:
C:\