轉載至 http://alexchuo.blogspot.com/2005/02/blog-post.html
1. 撰寫 Script 程式
2. 使用 Windows 2000/2003 Resource Kit
3. 刪除機碼
1. 撰寫 Script 程式:
若您知道您要移除什麼服務的話,建議使用這個方式,但請注意:若您移除了核心的服務,將可能造成系統嚴重的問題。
---程式碼開始---
Const title = "服務移除工具"
Set oWS = CreateObject("Wscript.Shell")
sService = inputbox("請輸入欲移除的服務名稱",title,"Service_name")
If sService = "" then
msgbox "程式停止執行,沒有移除任何服務。", vbInformation, title
wscript.quit
End If
'//確認是否移除服務
result = MsgBox ("即將移除 " & sService & " 這個服務,您確定嗎?", vbQuestion + vbYesno, title)
If result = vbNo Then
Msgbox "程式停止執行,沒有移除任何服務。", vbInformation, title
wscript.quit
End If
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
'//檢查要移除的服務是否存在
Set colListOfServices = objWMIService.ExecQuery _
("Select * from Win32_Service Where Name = '" & sService & "' or
displayName = '" & sService & "'")
If colListOfServices.count > 0 Then
For Each objService In colListOfServices
objService.StopService()
'//暫停 5 秒鐘,以確保服務已停止
wscript.Sleep 5000
objService.Delete()
Msgbox sService & " 已移除或已被標示成刪除。", vbInformation, title
Next
Else
Msgbox "找不到 " & sService & " 這個服務。", vbInformation, title
End If
---程式碼結束---
2. 使用 Windows 2000/2003 Resource Kit:
Resource Kit 裡有兩個程式可以將服務移除:InstSrv.exe 與 SrvInstW.exe(Windows 2000 Resource Kit 才有)。
SrvAny.exe 需要透過 SrvInstW.exe 或 InstSrv.exe 把它安裝成服務,而且還要手動編輯機碼。
SrvInstW.exe 或 InstSrv.exe 可以安裝和刪除服務,而 SrvInstW.exe 可以讓程式以系統服務方式執行。
其命令列語法如下 :
instsrv "服務名稱" "可執行檔的完整路徑與檔案名稱"
instsrv "服務名稱" remove
這兩種語法分別用於安裝及刪除服務,其中:
服務名稱 為要建立的服務之名稱 ,若名稱內含空白字元,須以雙引號(")將整個名稱包起來 。
可執行檔的完整路徑與檔案名稱 為欲安裝的服務其可執行檔的完整路徑與檔案名稱 ,請注意:一定要輸入完整路徑。
remove 則用來指定要進行移除服務的程式,記得在移除前請先停止該服務。
若經此命令安裝的服務尚須透過控制台的服務圖示或使用 NET START 指令將服務手動啟動,而使用這種方式安裝的服務,預設會使用指定帳號 (this account) 啟動、而非系統帳號(system account),因此須透過控制台的啟動設定鈕設定該服務的啟動帳號。
下面的範例為安裝一個名稱為 Alex Service 的服務:
instsrv "Alex Service" c:\alex\alexsrv.exe
"C:\SCDATA\Windows Resource Kits\Tools\instsrv.exe" "VNC Server" "C:\Program Files\ORL\VNC\WinVNC.exe service"
下面的指令則將移除此服務:
instsrv "Alex Service" remove
"C:\SCDATA\Windows Resource Kits\Tools\"instsrv.exe "VNC Server" remove
3. 刪除機碼:
找到下列的機碼位置並刪除:
HK_LocalMachine\System\CurrentControlSet\Services\"服務名稱"
其他參考資源:
Resource Kit 裡有兩個程式可以將服務移除:InstSrv.exe 與 SrvInstW.exe(Windows 2000 Resource Kit 才有)。
SrvAny.exe 需要透過 SrvInstW.exe 或 InstSrv.exe 把它安裝成服務,而且還要手動編輯機碼。
SrvInstW.exe 或 InstSrv.exe 可以安裝和刪除服務,而 SrvInstW.exe 可以讓程式以系統服務方式執行。
其命令列語法如下 :
instsrv "服務名稱" "可執行檔的完整路徑與檔案名稱"
instsrv "服務名稱" remove
這兩種語法分別用於安裝及刪除服務,其中:
服務名稱 為要建立的服務之名稱 ,若名稱內含空白字元,須以雙引號(")將整個名稱包起來 。
可執行檔的完整路徑與檔案名稱 為欲安裝的服務其可執行檔的完整路徑與檔案名稱 ,請注意:一定要輸入完整路徑。
remove 則用來指定要進行移除服務的程式,記得在移除前請先停止該服務。
若經此命令安裝的服務尚須透過控制台的服務圖示或使用 NET START 指令將服務手動啟動,而使用這種方式安裝的服務,預設會使用指定帳號 (this account) 啟動、而非系統帳號(system account),因此須透過控制台的啟動設定鈕設定該服務的啟動帳號。
下面的範例為安裝一個名稱為 Alex Service 的服務:
instsrv "Alex Service" c:\alex\alexsrv.exe
"C:\SCDATA\Windows Resource Kits\Tools\instsrv.exe" "VNC Server" "C:\Program Files\ORL\VNC\WinVNC.exe service"
下面的指令則將移除此服務:
instsrv "Alex Service" remove
"C:\SCDATA\Windows Resource Kits\Tools\"instsrv.exe "VNC Server" remove
3. 刪除機碼:
找到下列的機碼位置並刪除:
HK_LocalMachine\System\CurrentControlSet\Services\"服務名稱"
其他參考資源:
沒有留言:
張貼留言