關於Win10 的服務注冊


 

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM