自動恢復系統服務「一招制敵」
自動恢復系統服務「一招制敵」
安裝好Windows後,我們經常要對Windows進行調節,其中重要的一項就是關閉不必要的服務。為了節約系統資源,關閉一些無關緊要的服務確實必要。但會產生這樣一個問題:如果服務被錯誤地關閉,而當我們後來發現問題,又找不出是哪一個服務被關閉的時候,也許我們就會想要回到以前的正常狀態,然後一個個地關閉服務以便找出問題,可是又記不清每個服務的初始狀態,這可就令人惱火了! 如果能夠寫一個程式,記錄每個服務的啟動狀態,並能夠把系統的服務恢復到該狀態就比較方便了。下面這個BAT程式,用於記錄並恢復服務的啟動狀態,使用了sc命令(Windows XP/2003自帶,Windows 2000系統用戶可以從Windows XP複製一個sc.exe就可以用了) 該程式的優點是:產生的記錄文件是一個批處理文件,直接執行就可以恢復系統服務的啟動狀態。 下面是批處理文件的代碼,存儲為savestate.bat就可以了,雙擊後執行,會自動產生一個以當前時間和日期文件名字的記錄文件。 @echo off rem get current date and time for /f "tokens=1,2,3 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 上述代碼可以到http://www.newhua.com/cfan/200418/savestate.rar下載,它可以產生一個恢復到系統服務預定狀態的批處理文件,文件名中包含當前的日期。這樣,一旦因為修改系統服務出現故障,可以執行這個恢復程式,就能把系統服務恢復到安全狀態了。 產生的批處理文件是下面的樣子: @echo Restore The Service Start State Saved At 21:44:39.67 2004-08-12 星期四 @pause sc config Alerter start= DISABLED sc config ALG start= DEMAND . . . sc config wuauserv start= DISABLED sc config WZCSVC start= DISABLED @pause 執行這個文件之後,系統服務就恢復到啟動狀態了,如圖,很方便吧? |
所有時間均為台北時間。現在的時間是 07:22 PM。 |
Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2024, Jelsoft Enterprises Ltd.
『服務條款』
* 有問題不知道該怎麼解決嗎?請聯絡本站的系統管理員 *