捐血一袋救人一命

2010年6月17日 星期四

移除服務

我自己經常會 Try 一堆軟體,可是有些軟體移除功能做得不好,經常會留下一堆「服務」,造成系統運作不順暢,甚至某些惡意軟體表面上移除了程式,實際上卻留一堆後門服務在不斷耗用你的電腦資源。

像我之前試 用 MS SQL 2008 Express,好幾次因為某些附加的軟件沒裝,就直接裝MS SQL 2008 Express,導致安裝到一半就失敗,然後安裝程式自動移除 MS SQL Express,卻沒有把一些 Service 移除乾淨,造成再次安裝都無法安裝成功!

所以找了一下 Microsoft Script Center 裡的Sample Code稍微修改一下,用這支程式來移除服務。

strComputer = "."
strService = inputbox("Please Input Service Name (Not Program Name) : ", "Remove Service")
if strService <> "" then
    Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
    Set colListOfServices = objWMIService.ExecQuery ("Select * from Win32_Service Where Name = strService")
    For Each objService in colListOfServices
        objService.StopService()
        objService.Delete()
    Next
end if

只要把程式碼存成.vbs檔案就可以直接執行,執行時,會詢問要移除的服務名稱,不是程式名稱

要確認服務名稱,可以在控制台→系統管理工具→服務裡面查詢。

如果不輸入任何字,直接點「確定」,程式就會結束


其實Windows 內建的 sc 指令,即可將服務刪除!

Ex:

sc \\localhost delete FunshionSvr

詳細使用請看 sc 參數說明

0 意見: