史萊姆論壇

返回   史萊姆論壇 > 教學文件資料庫 > 作業系統操作技術文件
忘記密碼?
論壇說明 標記討論區已讀

歡迎您來到『史萊姆論壇』 ^___^

您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的!

請點擊這裡:『註冊成為我們的一份子!』

Google 提供的廣告


 
 
主題工具 顯示模式
舊 2004-08-13, 04:22 PM   #1
psac
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設 使用批次處理自動恢復windows 的服務的啟動狀態

使用批次處理自動恢復windows 的服務的啟動狀態

修正 1 感謝 hitme ,指出 2k reskit的 預設buf太小 ,請使用 xp,2k3 的 sc,可以直接複製到 2k使用。
如果使用 2kres kit 的sc ,請修改
sc query type= service state= all| findstr /r /c:"SERVICE_NAME:" >tmpsrv.txt


sc query type= service state= all bufsize= 10000| findstr /r /c:"SERVICE_NAME:" >tmpsrv.txt

2 適應更多的 日期格式 ,日期分隔符為 -\.三種

by lyh728
安裝好windows後,我們經常要對windows進行調節,其中重要的一項就是 關閉不必要的服務,這裡就會產生一個問題:


如果我們的某些服務被錯誤的關閉,而當我們後來發現問題,又找不出是哪一個服務的原因的時候,也許我們就會想要回到以前的正常狀態,然後一個個的關閉服務以便找出問題,可是又記不清每個服務的初始狀態的時候,就很 惱火了。

如果能夠寫一個程序,記錄每個服務的啟動狀態,並可以把系統的服務恢復到該狀態就比較方便了。

我寫了一個bat程序,用於記錄並恢復服務的啟動狀態,使用了sc指令(xp,2k3原有的,2k需要到ms下載)
該程序的優點是 產生的記錄文件是一個批次處理文件,直接執行就可以恢復系統的服務的啟動狀態。產生的記錄文件如下:


@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
下面是bat的程式碼,存儲為savestate.bat就可以了,雙按後執行,自動產生一個以當前時間和日期檔案名字的記錄文件


指令碼:
@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

恢復服務的啟動狀態
psac 目前離線  
送花文章: 3, 收花文章: 1631 篇, 收花: 3205 次
 


主題工具
顯示模式

發表規則
不可以發文
不可以回覆主題
不可以上傳附加檔案
不可以編輯您的文章

論壇啟用 BB 語法
論壇啟用 表情符號
論壇啟用 [IMG] 語法
論壇禁用 HTML 語法
Trackbacks are 禁用
Pingbacks are 禁用
Refbacks are 禁用


所有時間均為台北時間。現在的時間是 12:13 PM


Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2024, Jelsoft Enterprises Ltd.


SEO by vBSEO 3.6.1