Windows XP系統服務配置攻略
對于經常重裝系統的朋友來說,出于優化系統、減少內存占用亦或增強系統安全性能,往往都會修改很多系統服務的啟動類型。將大量無用或者危險的服務關閉,參照許多服務優化的文章來看,大多需要禁用并停止20-30個服務將是一項比較煩瑣的工作,我也是深受其害。然而從Windows XP開始,其自帶的Dos工具中加入了一個sc.exe(Service Control)的文件,剛好可以對服務的啟動類型以及服務的啟動或者關閉等進行進行操作,再利用DOS的批處理優勢,就可以把上面提到的種種操作進行大幅簡化。
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文件,與保存好的批處理文件放在一起,然后執行批處理文件即可。
對注冊表比較熟悉的朋友可能會想到用注冊表來設置服務的啟動類型,這也是一種可行的方法,本身卻有著內在不足。原因是服務啟動類型在注冊表中對應的鍵值較長且分散,進行整理不方便直觀且易錯漏,所以這種方法比較適用于無人值守的安裝時使用。
下面是我對服務進行設置時遇到的問題和技巧,僅供參考。
1.對于系統服務而言,既然存在就有它存在的意義。所以在開始之前最好先了解一下機器使用的軟件和硬件所必須的系統服務,再進行后續操作。比如說辦公一族經常使用打印機,那么打印機安裝、運行必備服務的延遲打印服務(Spooler)就不能改動其啟動類型或者將其停止。喜歡XP視覺樣式的朋友,主題服務(Themes)也是不能去改動的……由于系統服務眾多,這里就逐一列出了,可以參看大眾軟件2004年18、19期GZ寫的《用我所用棄我所棄——WindowsXP服務詳解》(針對XPSP1,但由于SP2的服務并無太大的改動,所以有著很強的參考價值)再加上平時的積累,相信一定能把你的服務設置好。
2.基礎服務盡量不要去改動(主要指在服務屬性里依存關系中顯示“如果此服務失敗,計算機將重啟動,此服務不支持恢復操作”這類的服務,注意RPC服務也屬于基礎服務)。一方面是因為它們是底層的服務,另一方面是相當多的服務都依存于這些基礎服務。
3。有的服務只能設置其啟動類型,而不能通過sc stop來使之停止,所以兩段代碼所包含的服務不太相同。比如說TermService(終端服務)。將之設為禁用之后,重啟一次后即變為停止了。
4.不能忽視服務間存在的依存關系,如果關閉了一個服務的父依存服務,那么這個服務和他的子依存服務也將不再起作用,最簡單的例子是IIS服務依存于ProtectedStorage服務,如果該服務被改為手動特別是禁止之后,則IIS服務和依存于IIS的相關服務就相應的被禁用了。還有一些服務未標明依存關系,但是卻缺一不可,比如說自動更新以及V5版的WindowsUpdate事實上不當依存于自動更新服務(wuauserv),還依存于智能后臺傳輸服務(BITS)。所以把BITS服務禁用之后,WindowsUpdate也將出錯。
相關文章:
