win7 删除Windows服务的方法

简介: 一、什么是Windows服务      Windows服务也称为Windows Service,它是Windows操作系统和Windows网络的基础,属于系统核心的一部分,它支持着整个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:WINDOWSSYSTEM32RUNDLL.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一般服务会以相同的名字在这里显示一个主健,直接删除相关的键值便可。

四、特殊情况    
  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 驱动程序

目录
相关文章
|
2月前
|
XML C# 数据格式
掌握了在Windows平台上查看DLL依赖的方法
掌握了在Windows平台上查看DLL依赖的方法
245 4
|
19天前
|
网络安全 Windows
Windows server 2012R2系统安装远程桌面服务后无法多用户同时登录是什么原因?
【11月更文挑战第15天】本文介绍了在Windows Server 2012 R2中遇到的多用户无法同时登录远程桌面的问题及其解决方法,包括许可模式限制、组策略配置问题、远程桌面服务配置错误以及网络和防火墙问题四个方面的原因分析及对应的解决方案。
|
2月前
|
边缘计算 安全 网络安全
|
2月前
|
人工智能 JavaScript 网络安全
ToB项目身份认证AD集成(三完):利用ldap.js实现与windows AD对接实现用户搜索、认证、密码修改等功能 - 以及针对中文转义问题的补丁方法
本文详细介绍了如何使用 `ldapjs` 库在 Node.js 中实现与 Windows AD 的交互,包括用户搜索、身份验证、密码修改和重置等功能。通过创建 `LdapService` 类,提供了与 AD 服务器通信的完整解决方案,同时解决了中文字段在 LDAP 操作中被转义的问题。
|
2月前
|
开发框架 .NET API
Windows Forms应用程序中集成一个ASP.NET API服务
Windows Forms应用程序中集成一个ASP.NET API服务
98 9
|
2月前
|
应用服务中间件 Apache Windows
免安装版的Tomcat注册为windows服务
免安装版的Tomcat注册为windows服务
131 3
|
2月前
|
弹性计算 数据安全/隐私保护 Windows
阿里云国际版无法远程连接Windows服务器的排查方法
阿里云国际版无法远程连接Windows服务器的排查方法
|
2月前
|
安全 Windows
Windows系统实现exe服务注册的方法都有哪些?
【10月更文挑战第5天】Windows系统实现exe服务注册的方法都有哪些?
356 0
|
2月前
|
弹性计算 关系型数据库 网络安全
阿里云国际版无法连接和访问Windows服务器中的FTP服务
阿里云国际版无法连接和访问Windows服务器中的FTP服务
|
2月前
|
数据可视化 程序员 C#
C#中windows应用窗体程序的输入输出方法实例
C#中windows应用窗体程序的输入输出方法实例
48 0