1. 程式人生 > >在win7下刪除Windows服務的方法

在win7下刪除Windows服務的方法

一、什麼是Windows服務   

  Windows服務也稱為Windows Service,它是Windows作業系統和Windows網路的基礎,屬於系統核心的一部分,它支援著整個Windows的各種操作。諸如DNS客戶端、列印程式、Windows更新服務、計劃任務、Windows時間服務等服務,它們關係到機器能否正確執行。如果不能適當地管理這些服務,就會影響到機器的正常操作。   

  一個服務首先是一個Win32可執行程式,或者是是rundll32.exe來執行一個.dll的方式形成的程序。跟普通應用程式不一樣,如開啟 WORD,有一個介面出來,但服務沒有使用者介面。也不能通過直接雙擊執行相應的.exe程式來執行。  

  二、那Windows又是如何控制一個服務的?   

  Windows的服務由更上一級的services.exe這個服務來管理
,由它來管理,負責進行服務的啟動、停止、執行,暫停等。我們最常用的操作就是通過Windows的服務MMC介面來完成相關操作。

  在Windows7系統中,我們點選開始選單,在搜尋框裡面輸入“服務”,雙擊最上面的第一個結果即可開啟服務管理,在Vista和XP系統中,也可以通過執行 services.msc 開啟服務管理——

  
刪除隱藏在 Vista 系統服務中的病毒
三、如何刪除Windows服務   

  現在的流氓軟體,越來越多把自己註冊為一個服務。一般會把非Windows系統的服務以023的方式列出來,如下面這段:   

  O23 - 未知 - Service: BKMARKS [提供傳輸協議的資料安全保護機制,有效維護資料傳輸中的安全及完整。] - C:\WINDOWS\SYSTEM32\RUNDLL.EXE   

  O23 - 未知 - Service: ewido anti-spyware 4.0 guard [ewido anti-spyware 4.0 guard] - D:Program Filesewido anti-spyware 4.0guard.exe   

  O23 - 未知 - Service: KSD2Service [KSD2Service] - C:WINDOWSsystem32SVCH0ST.exe

  對於這些流氓軟體,需要刪除相關的.exe檔案,使它不能再執行,或者直接清除這個服務本身,使計算機重啟的時候,它不會再啟動。   


  刪除的辦法有兩個:   

  辦法一: 用sc.exe這個Windows命令   

  點選開始選單 -》 所有程式 -》 附件 -》 命令列程式,右鍵選單中選擇“以管理員方式執行”。
刪除隱藏在 Vista 系統服務中的病毒

  

  這樣,就用管理員身份打開了一個命令列程式,輸入 sc 加上引數就可以了,使用辦法很簡單:

  sc delete"服務名"(如果服務名中間有空格,就需要前後加引號)   

  如針對上面的: sc delete KSD2Service  

  sc 命令的詳解,參看本文下方,Windows7之家/Vista之家已經幫您整理。  

  方法二:直接進行登錄檔編輯(不推薦)   

  開啟登錄檔編輯器,找到下面的鍵值:   

  HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services一般服務會以相同的名字在這裡顯示一個主健,直接刪除相關的鍵值便可。

具體步驟如下:

Win7系統解除安裝和刪除一些不必要的服務

我們都知道可以通過刪除一些應用程式一併把相關的服務解除安裝,但是對於一些Windows系統中帶的或者病毒程式建立的服務,需要藉助其他方式進行解除安裝。通過刪除一些非必要的服務以增強系統的安全性。

方法/步驟

  1. 1

    1、在裝有win7作業系統的計算機上。從開始選單點選“執行”,輸入“sen^ices.msc”,在服務管理器中可以看到一些當前系統中的服務,此處能夠對這些服務進行啟動、停止、啟動型別等設定。本實驗將刪除“Tehet”服務,該服務非常容易被黑客所利用進行遠端登入。見圖1。

    Win7系統解除安裝和刪除一些不必要的服務
  2. 2

    2、通過登錄檔編輯器刪除服務相關的登錄檔項:

      從開始選單選擇“執行”,輸入“regedit”開啟登錄檔編輯器,開啟HKEY_LOCAL_MACHINE\SYSTEM\CuiTeiitCoiitrolSet\Semces\,服務管理器中的所有服務都可以在該項下找到。

      找到Telnet服務的對應項TlntSvr,如圖2所示。通過右而視窗ImagePath的值可以檢視到該服務所對應的路徑為:C:\WINDOWS\system32\tlntsvr.exe。

    Win7系統解除安裝和刪除一些不必要的服務
  3. 3

    右鍵選擇TlntSvr,選擇“許可權”,選擇“Administrators”組,並勾選“完全控制”許可權且應用,於是Administrators組的帳號就可以對此登錄檔鍵值進行完全控制權限,其中包括了刪除操作。見圖3。

    Win7系統解除安裝和刪除一些不必要的服務
  4. 4

    再次右鍵選擇TlntSvr,點選“刪除”並確認。

  5. 5

    3、徹底刪除服務相關的程式檔案:

      在資源管埋器中找到C:\WINDOWS\system32\tlntsvr.exe,並刪除該檔案。


四、特殊情況   
  1、如果服務顯示的是rundll32.exe,並且這個檔案是位於system32目錄下,那麼就不能刪除這個rundll32.exe檔案,它是Windows系統的檔案。這時只要清除相關的服務就可以了。   
  2、如果一個服務刪除了馬上又自動建立了,說明後臺有程序在監視、保護。需要先在程序管理器中殺掉相應的程序,或者啟動後按F8,到Win7/Vista安全模式下刪除。

  
  ////// 附錄:SC 命令列程式 引數詳解 ///////  
  描述:
   SC 是用於與服務控制管理器和服務進行通訊的命令列程式。
  用法:
   sc [command] [service name] ...  
   選項 的格式為 "\\ServerName"
   鍵入 "sc [command]" 可以獲得有關命令的進一步幫助
   命令:
   query-----------查詢服務的狀態,
   或列舉服務型別的狀態。
   queryex---------查詢服務的擴充套件狀態,
   或列舉服務型別的狀態。
   start-----------啟動服務。
   pause-----------向服務傳送 PAUSE 控制請求。
   interrogate-----向服務傳送 INTERROGATE 控制請求。
   continue--------向服務傳送 CONTINUE 控制請求。
   stop------------向服務傳送 STOP 請求。
   config----------更改服務的配置(永久)。
   description-----更改服務的描述。
   failure---------更改服務失敗時執行的操作。
   failureflag-----更改服務的失敗操作標誌。
   sidtype---------更改服務的服務 SID 型別。
   privs-----------更改服務的所需許可權。
   qc--------------查詢服務的配置資訊。
   qdescription----查詢服務的描述。
   qfailure--------查詢失敗時服務執行的操作。
   qfailureflag----查詢服務的失敗操作標誌。
   qsidtype--------查詢服務的服務 SID 型別。
   qprivs----------查詢服務的所需許可權。
   qtriggerinfo----查詢服務的觸發器引數。
   qpreferrednode--查詢首選的服務 NUMA 節點。
   delete----------(從登錄檔)刪除服務。
   create----------建立服務(將其新增到登錄檔)。
   control---------向服務傳送控制。
   sdshow----------顯示服務的安全描述符。
   sdset-----------設定服務的安全描述符。
   showsid---------顯示相應於假定名稱的 SID 字串。
   triggerinfo-----配置服務的觸發器引數。
   preferrednode---設定首選的服務 NUMA 節點。
   GetDisplayName--獲取服務的 DisplayName
   GetKeyName------獲取服務的 ServiceKeyName。
   EnumDepend------列舉服務的依存關係。  
   下列命令不要求服務名稱:
   sc
   boot------------(ok   bad) 指示是否將上一次啟動儲存為
   最近一次已知的正確啟動配置
   Lock------------鎖定服務資料庫
   QueryLock-------查詢 SCManager 資料庫的 LockStatus
  示例:
   sc start MyService  
  QUERY 和 QUERYEX 選項:
   如果查詢命令帶服務名稱,將返回
   該服務的狀態。其他選項不適合這種
   情況。如果查詢命令不帶引數或
   帶下列選項之一,將列舉此服務。
   type= 要列舉的服務的型別(driver, service, all)
   預設 = service)
   state= 要列舉的服務的狀態 (inactive, all)
   (預設 = active)
   bufsize= 列舉緩衝區的大小(以位元組計)
   (預設 = 4096)
   ri= 開始列舉的恢復索引號
   (預設 = 0)
   group= 要列舉的服務組
   (預設 = all groups)  
  語法示例
  sc query - 列舉活動服務和驅動程式的狀態
  sc query eventlog - 顯示 eventlog 服務的狀態
  sc queryex eventlog - 顯示 eventlog 服務的擴充套件狀態
  sc query type= driver - 僅列舉活動驅動程式
  sc query type= service - 僅列舉 Win32 服務
  sc query state= all - 列舉所有服務和驅動程式
  sc query bufsize= 50 - 列舉緩衝區為 50 位元組
  sc query ri= 14 - 列舉時恢復索引 = 14
  sc queryex group= "" - 列舉不在組內的活動服務
  sc query type= interact - 列舉所有不活動服務
  sc query type= driver group= NDIS - 列舉所有 NDIS 驅動程式