1.普通服務注冊
在cmd下可有兩種方法打開,net和sc,net用於打開沒有被禁用的服務,語法是:
net start 服務名 啟動 net start 服務名
停止 net stop 服務名
net stop 服務名
用sc可打開被禁用的服務,語法是:
sc config 服務名 start= demand //手動
sc condig 服務名 start= auto //自動
sc config 服務名 start= disabled //禁用
sc start 服務名
sc stop 服務名
注:1)服務名不一定是你在服務面板看到的那個名,例如,你要打開被禁用的telnet服務,sc config telnet start= auto,報錯:[SC] OpenService FAILED 1060,因為telnet的服務名不是telnet而是tlntsvr, sc config tlntsvr start= auto 就OK了,在服務面板里查看telnet屬性,從可執行文件的路徑里可看到服務程序名,即命令中的服務名。 2)start=后面有空格,少了就有錯
sc.exe命令功能列表: 注:以下命令中。=號后面都有一個空格,=號前面沒有空格!
1.更改服務的啟動狀態(這是比較有用的一個功能)
2.刪除服務(除非對自己電腦的軟、硬件所需的服務比較清楚,否則不建議刪除任何系統服務,特別是基礎服務)
3.停止或啟動服務(功能上類似於net stop/start,但速度更快且能停止的服務更多)
具體的命令格式如下:
修改服務啟動類型的命令行格式為(特別注意start=后面有一個空格)
sc config 服務名稱 start= demand(設置服務為手動啟動)
sc config 服務名稱 start= disabled(設置服務為禁用)
停止/啟動服務的命令行格式為
sc stop/start 服務名稱
注意:平時常接觸的都是服務的顯示名稱,而以上所指是服務名稱,都可以在控制面板->管理工具->服務里面,雙擊對應的服務來查詢。
先舉例說明一下具體的設置方法:
如設置遠程注冊表服務為手動其格式為
sc config RemoteRegistry start= demand
設為禁用的格式為:
sc config RemoteRegistry start= disabled
停止服務則格式為:
sc stop RemoteRegistry
首先把自己所需設置的服務名稱查到之后,按照上面的格式做成批處理文件,重裝系統之后只要運行批處理文件即可。
以下是我的設置,以XpSp2為藍本,可比對所用的系統進行增刪和修改。注:未加入XpSp2的自動更新、安全中心、防火牆。
sc config Alerter start= demand
sc config TrkWks start= demand
sc config helpsvc start= demand
sc config policyAgent start= demand
sc config dmserver start= demand
sc config WmdmpmSn start= demand
sc config Spooler start= demand
sc config RemoteRegistry start= demand
sc config NtmsSvc start= demand
sc config seclogon start= demand
sc config Schedule start= demand
sc config WebClient start= demand
sc config W32Time start= demand
sc config WZCSVC start= demand
sc config ERSvc start= demand
sc config Themes start= demand
sc config FastUserSwitchingCompatibility start= disabled
sc config Messenger start= disabled
sc config protectedStorage start= disabled
sc config SSDpSRV start= disabled
sc config TermService start= disabled
sc config ShellHWDetection start= disabled
如果需要立即關閉服務也可把以下代碼跟在上面的代碼之后
sc stop W32Time
sc stop ShellHWDetection
sc stop TrkWks
sc stop helpsvc
sc stop dmserver
sc stop policyAgent
sc stop Spooler
sc stop RemoteRegistry
sc stop seclogon
sc stop Schedule
sc stop WZCSVC
sc stop ERSvc
sc stop Themes
sc stop FastUserSwitchingCompatibility
sc stop protectedStorage
sc stop SSDpSRV
sc stop WebClient
最后把修改好之后的代碼存為services.cmd,在以后進行服務設置時,直接運行事先保存好的批處理文件就可以做到事半功倍了。
看到這里,使用Win2000的朋友也不必失望,sc.exe這個命令行工具對Win2000同樣適用,可從裝有WinXp或者Win2003的機器里面拷貝sc.exe文件,與保存好的批處理文件放在一起,然后執行批處理文件即可。
對注冊表比較熟悉的朋友可能會想到用注冊表來設置服務的啟動類型,這也是一種可行的方法,本身卻有着內在不足。原因是服務啟動類型在注冊表中對應的鍵值較長且分散,進行整理不方便直觀且易錯漏,所以這種方法比較適用於無人值守的安裝時使用。
使用案例:
在命令行下啟動自動更新服務:
C:\>sc config wuauserv start= auto
[SC] ChangeServiceConfig SUCCESS
C:\>sc start wuauserv
SERVICE_NAME: wuauserv
TYPE : 20 WIN32_SHARE_PROCESS
STATE : 2 START_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-SC命令詳解 2009-10-27 15:18 :\>sc/?
描述:
SC 是用於與服務控制管理器通信的命令行程序。
用法:
sc <server> [command] [service name] <option1> <option2>...
選項 <server> 的格式為 "\\ServerName"
可以鍵入 "sc [command]"以獲得命令的進一步幫助
命令:
query-----------查詢服務的狀態,
或枚舉服務類型的狀態。
queryex---------查詢服務的擴展狀態,
或枚舉服務類型的狀態。
start-----------啟動服務。
pause-----------發送 PAUSE 控制請求到服務。
interrogate-----發送 INTERROGATE 控制請求到服務。
continue--------發送 CONTINUE 控制請求到服務。
stop------------發送 STOP 請求到服務。
config----------(永久地)更改服務的配置。
description-----更改服務的描述。
failure---------更改服務失敗時所進行的操作。
qc--------------查詢服務的配置信息。
qdescription----查詢服務的描述。
qfailure--------查詢失敗服務所進行的操作。
delete----------(從注冊表)刪除服務。
create----------創建服務(將其添加到注冊表)。
control---------發送控制到服務。
sdshow----------顯示服務的安全描述符。
sdset-----------設置服務的安全描述符。
GetDisplayName--獲取服務的 DisplayName。
GetKeyName------獲取服務的 ServiceKeyName。
EnumDepend------枚舉服務的依存關系。
下列命令不查詢服務名稱:
sc <server> <command> <option>
boot------------(ok | bad) 表明是否將上一次啟動保存為
最后所知的好的啟動配置
Lock------------鎖定服務數據庫
QueryLock-------查詢 SCManager 數據庫的 LockStatus
示例:
sc start MyService
sc config TrkWks start= DISABLED
sc config upnphost start= DISABLED
sc config UPS start= DISABLED
sc config usprserv start= DISABLED
sc config VSS start= DISABLED
sc config W32Time start= DISABLED
sc config WebClient start= DISABLED
sc config winmgmt start= DISABLED
sc config WMConnectCDS start= DISABLED
sc config WmdmPmSN start= DISABLED
sc config Wmi start= DISABLED
sc config WmiApSrv start= DISABLED
sc config WMPNetworkSvc start= DISABLED
sc config wscsvc start= DISABLED
sc config wuauserv start= DISABLED
sc config WudfSvc start= DISABLED
sc config WZCSVC start= DISABLED
sc config xmlprov start= DISABLED
:XP2
echo.
echo 正在備份您的服務,以免優化過出問題了可以及時恢復
echo 備份會生成一個以當前時間命名的BAT(批處理)文件
echo 恢復時只要雙擊即可,正在備份,請稍等......
@echo off
rem get current date and time
for /f "tokens=1, 2, 3, 4 delims=-/. " %%j in ('Date /T') do set FILENAME=srv_%%j_%%k_%%l_%%m
for /f "tokens=1, 2 delims=: " %%j in ('TIME /T') do set FILENAME=%FILENAME%_%%j_%%k.bat
rem get all service name
sc query type= service state= all| findstr /r /C:"SERVICE_NAME:" >tmpsrv.txt
echo Save Service Start State In %FILENAME%
rem save service start state into batch file
rem
echo @echo Restore The Service Start State Saved At %TIME% %DATE% >"%FILENAME%"
echo @pause >>"%FILENAME%"
for /f "tokens=2 delims=:" %%j in (tmpsrv.txt) do @( sc qc %%j |findstr START_TYPE >tmpstype.txt && for /f "tokens=4 delims=:_ " %%s in ( tmpstype.txt) do @echo sc config %%j start= %%s >>"%FILENAME%")
echo @pause >>"%FILENAME%"
del tmpsrv.txt
del tmpstype.txt
echo 備份完成,啟動優化服務程序,請稍等....
sc config Alerter start= DISABLED
sc config ALG start= DISABLED
sc config AppMgmt start= DISABLED
sc config aspnet_state start= DISABLED
sc config AudioSrv start= AUTO
sc config BITS start= DISABLED
sc config Browser start= DISABLED
sc config CiSvc start= DISABLED
sc config ClipSrv start= DISABLED
sc config COMSysApp start= DISABLED
sc config CryptSvc start= DEMAND
sc config DcomLaunch start= AUTO
sc config DF5Serv start= AUTO
sc config Dhcp start= DISABLED
sc config dmadmin start= DEMAND
sc config dmserver start= DEMAND
sc config Dnscache start= DISABLED
sc config ERSvc start= DISABLED
sc config Eventlog start= AUTO
sc config EventSystem start= DISABLED
sc config FastUserSwitchingCompatibility start= DISABLED
sc config helpsvc start= DISABLED
sc config HidServ start= DISABLED
sc config HTTPFilter start= DISABLED
sc config IDriverT start= DEMAND
sc config ImapiService start= DISABLED
sc config lanmanserver start= DISABLED
sc config lanmanworkstation start= AUTO
sc config LmHosts start= DISABLED
sc config Messenger start= DISABLED
sc config mnmsrvc start= DISABLED
sc config MSDTC start= DISABLED
sc config MSIServer start= DEMAND
sc config NetDDE start= DISABLED
sc config NetDDEdsdm start= DISABLED
sc config Netlogon start= DISABLED
sc config Netman start= DEMAND
sc config Nla start= DISABLED
sc config NtLmSsp start= DISABLED
sc config NtmsSvc start= DISABLED
sc config NVSvc start= DISABLED
sc config ose start= DISABLED
sc config PlugPlay start= AUTO
sc config PolicyAgent start= DISABLED
sc config ProtectedStorage start= DISABLED
sc config RasAuto start= DISABLED
sc config RasMan start= DISABLED
sc config RDSessMgr start= DISABLED
sc config RemoteAccess start= DISABLED
sc config RemoteRegistry start= DISABLED
sc config RpcLocator start= DEMAND
sc config RpcSs start= AUTO
sc config RSVP start= DISABLED
sc config SamSs start= DISABLED
sc config SCardSvr start= DISABLED
sc config Schedule start= DISABLED
sc config seclogon start= DISABLED
sc config SENS start= DISABLED
sc config SharedAccess start= DISABLED
sc config ShellHWDetection start= DISABLED
sc config Spooler start= DISABLED
sc config srservice start= DISABLED
sc config SSDPSRV start= DISABLED
sc config stisvc start= DISABLED
sc config SwPrv start= DISABLED
sc config SysmonLog start= DISABLED
sc config TapiSrv start= DISABLED
sc config TermService start= DISABLED
sc config Themes start= DISABLED
sc config TlntSvr start= DISABLED
sc config TrkWks start= DISABLED
sc config Telephony start= AUTO
sc config upnphost start= DISABLED
sc config UPS start= DISABLED
sc config usprserv start= DISABLED
sc config VSS start= DISABLED
sc config W32Time start= DISABLED
sc config WebClient start= DISABLED
sc config winmgmt start= DISABLED
sc config WMConnectCDS start= DISABLED
sc config WmdmPmSN start= DISABLED
sc config Wmi start= DISABLED
sc config WmiApSrv start= DISABLED
sc config WMPNetworkSvc start= DISABLED
sc config wscsvc start= DISABLED
sc config wuauserv start= DISABLED
sc config WudfSvc start= DISABLED
sc config WZCSVC start= DISABLED
sc config xmlprov start= DISABLED