WindowsXp服务详解.docx
《WindowsXp服务详解.docx》由会员分享,可在线阅读,更多相关《WindowsXp服务详解.docx(26页珍藏版)》请在冰豆网上搜索。
WindowsXp服务详解
用我所用弃我所弃——WindowsXp服务详解
这篇文章是在我放假的时候打完的。
原文刊登在大众软件2003年18、19期上。
希望对大家有所帮助,使用WinXP的朋友系统更快。
。
。
。
。
前言:
为什么写这篇文章
微软的个人操作系统从Win98发展到WinXP,为什么突然那么消耗系统资源呢?
以至于很多人都觉得WinXP只有高配置的电脑才能运行,其实不然。
WinXP的变化主要源于摒弃了以前家用操作系统的内核,除了漂亮的界面消耗大量的内存和显存等系统资源外,和Win2000一样,WinXP默认在后台还运行了很多不同的服务,像打印机服务、系统自动更新服务等,对系统的资源也占用不少。
而这些服务中有相当一部分对个人用户来说可能永远都不会用到,在安全方面反而造成很大隐患。
所以根据自己的情况,适当禁用自己不需要的系统服务不仅可以节省系统资源,加快系统运行速度,还能起到安全保护的作用,是非常有必要的。
友情提醒:
请先看“预备篇”及“结束篇”。
预备篇:
如何管理配置系统服务
要想正确管理和配置系统服务,一定先确保你有合适的权限,否则一些设置你无法改动。
因此最方便的方法就是使用Administrator组的用户登陆。
而在改动服务的设置之前,备份当前的状态很有必要,一旦出错可马上恢复到正常状态。
这里介绍直接备份注册表中于服务有关内容的方法。
选择“开始—运行”,输入“regedit”(不含引号)并回车打开注册表编辑器,展开注册表选定“HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Service”点击菜单“文件—导出”将此分支下的注册表内容导出并保存成一个.reg文件。
如果要恢复系统服务到原始状态,只要双击这个文件导入注册表即可。
如果已备份了服务的缺省设置,现在就可尝试着更改服务了。
熟练运用Win98的朋友都知道,“msconfig”是配置Win98启动时系统资源占用的重要工具。
在WinXP中,考虑到用户对以前系列操作系统的习惯,这个在Win2000中消失的工具又被保留了下来,所以不少从Win98升级到WinXP的朋友依然习惯性地使用它来配置系统。
然而对于系统服务的管理配置来说这是不可取的。
利用“msconfig”确实可以方便地关闭和启动系统的后台服务,但在其中只能机械地决定启动还是关闭服务,并不能设定系统服务完整的3种启动类型。
更重要的是,由于在“msconfig”中看不到系统服务的基本注释,在这种情况下容易造成配置管理服务的失误。
尤其有一些系统引导启动所必须的基本服务,如RemoteProcedureCall,使用专门的服务管理配置Services.msc无法关闭,反而是用“msconfig”可以将其关闭,所以极易造成无法启动系统的失误。
因此还是使用WinXP附带的服务配置管理工具Service.msc来管理服务比较好。
打开服务配置管理工具的方法是依次打开“开始—控制面板—性能维护”(在分类视图下),然后选择打开“管理工具—服务”,或者直接在“开始—运行”中输入Services.msc然后回车。
在服务配置工具的窗口,双击任意一个服务,就可以打开该服务的属性面板。
在这里做调整管理,通过更改服务的启动类型来依据自己的需要启动、关闭或禁用服务。
不过在配置这些服务之前,我们还是先了解一下服务的属性面板中一些重要信息的含义。
切换到具体服务的属性面板的“常规”页面。
“服务名称”是指服务的“简称”,并且也是在注册表中显示的名称;“显示名称”是指在服务配置面板中每项服务的显示名称;“描述”是此服务的简单解释,“可执行文件路径”就更好理解了。
接下来就是比较重要的“启动类型”了,这也是整个服务配置管理的核心。
对于任意一个服务,通常都只有3种不同的启动类型:
Automatic(自动),Manual(手动),Disabled(禁用),只要从下拉菜单中选择就可以随意更改服务的启动类型。
这3种启动类型都有各自的意义和作用。
Automatic(自动):
此服务随启动WinXP一起启动,将延长启动所需要的时间,有些服务是必须设为自动的,例如RemoteProcedureCall(RPC)。
由于依存关系或其性质的影响,其他的一些服务也必须设为自动,这样的服务最好不要去碰它,否则系统无法正常工作。
Manual(手动):
如果一个服务被设置为手动,那么可以在需要时再运行它。
大多数服务都是这样的,这可以节省大量系统资源。
Disabled(禁用):
此服务不能再运行,哪怕是系统必须。
这个设置一般在提高安全性的时候很管用。
如果怀疑一个陌生的服务会给你的系统带来安全隐患,可以先尝试停止它,看看系统还能不能正常运行,如果一切正常,那么就可以直接禁止它了。
日后如果需要这个服务,在启动它前,必须先将启动类型设置为自动或手动。
最后是“服务状态”,即指服务的现在状态是启动还是关闭,通常可利用下面的“启动”、“关闭”、“暂停”等按钮来即时改变服务的状态,但是在两种情况下这些按钮是灰色不可用的。
一种情况是服务被设置为Disabled(禁用),这种情况下只有将服务设置为自动或手动并“应用”后才可使用;另一种情况就是我们前面提到的系统启动所必须的基础服务,它们的启动类型被设置为自动且不可改变,自然那些改变服务状态的按钮也就不可用了。
切换到服务属性面板的“依存关系”页面。
一些服务并不能单独运行,必须依靠(即依存)其他服务。
在停止或禁用一个服务之前,一定要看清楚这个服务的依存关系,如果有其他需要启动的服务是依靠这个服务,就不能将其停止。
比如Messenger这个服务,要依靠其他4个服务才能运行,因此停止或禁用其中的任何一个,Messenger服务都将不能正常运行。
又比如ApplicationLayerGatewayService这个服务,如果关掉它,那么依赖它的InternetConnection/FirewallInternetConnectionSharing也就无法工作了。
所以我们在关闭一个服务前,查青其依存关系是必不可少的步骤。
实战篇:
服务详解
刚才我们已经了解了服务的管理配置,下面就来了解每个服务的具体含义。
如果你的系统中没有下文中提到的某些服务也不用担心,因为某些服务只有在特定状态下或安装了某些硬件之后才会出现。
1、Alerter
Alerter(警示器)服务的进程名是Service.exe(即启动这个服务后在后台运行的进程名称,可以通过任务管理器看到,下同)。
Alerter服务的功能是,WinXP将系统上发生的与管理有关的事件以警示(Alert)信息传送至网络上指定的电脑或用户,例如当发生打印错误或硬盘即将写满等事件,这类警示信息由WinXP的警示器服务(AlerterService)收集、送出。
尽管Alerter依存的服务并没有Messenger(信使)服务,但Alerter服务必须依靠后者才能送出信息,故在启动Alerter服务后还必须确定Messenger服务也在工作状态,而接收的电脑也必须启动Messenger服务。
由于Alerter服务运行后,服务是用户可以发送“弹出(Pop-up)”信息给其他用户,这些信息有可能被攻击者用来实施攻击,如诱骗用户修改口令等,从而造成安全隐患。
同时该服务使得用户账号泄漏,也有可能被攻击者利用来进行口令猜测攻击。
所以对于家庭单机用户,甚至对于绝大多数小型的局域网来说,这个功能是完全可禁用的,不仅节省了系统资源和加快启动速度,也提高了机器的安全性。
2、ApplicationLayerGatewayService
简称“ALG”(应用层网关)的进程名是alg.exe,WinXPHome/Pro默认安装的启动类型为手动。
ALG又被称为代理服务器(ProxyServer),是网络防火墙从功能层面上分类的一种。
当内部计算机与外部主机连接时,将由代理服务器担任内部计算机与外部主机的连接中继者。
使用ALG的好处是隐藏内部主机的地址和防止外部不正常的连接,如果代理服务器上未安装针对该应用程序设计的代理程序时,任何属于这个网络服务的封包将无法通过防火墙。
通俗点说,具体到ALG本身,它就是附带的Internet连接共享/防火墙的具体控管程序,如果你需要启动这二者,这个服务是必备的。
当然,只有一台计算机的上网家庭可以考虑禁用这个服务,不过WinXP内置的防火墙效果还是不错的,如果不是坚持要用第三方的防火墙,还是开着它吧。
3、ApplicationManagement
AppMent(应用程序管理服务)的进程名是Svchost.exe,WinXPHome/Pro默认安装的启动类型为手动,没有任何依存服务关系。
从Win2000开始,微软引入了一种基于MSI文件格式(应用程序安装信息程序包文件)的全新、有效软件管理方案——即应用程序管理组件服务(ApplicationManagement),它不仅管理软件的安装、删除,而且可使用此项服务修改、修复现有应用程序,监视文件复原并通过复员排除基本故障等。
通常这个服务我们保持其默认状态较好。
可能许多朋友都有印象,当年ACDSee4.0刚发布时,由于安装制作上的考虑不周,并没有考虑到那个时候大多数人的系统还并不支持MSI安装格式,结果只得又去下载安装一个名为WindowsInstaller的MSI辅助文件才解决问题。
通常以MSI文件格式安装的软件十分好认,比如说OfficeXP,当你安装后再次运行软件的安装程序时,它一般会有“重新安装”、“修复软件”、“卸载软件”多个选项,而不是以前安装程序那种就简单地卸载或覆盖安装了事。
4、AutomaticUpdates
Wuauserv(自动更新服务)的进程名是Svchost.exe,WinXPHome/Pro默认安装的启动类型为自动,没有任何依存服务关系。
这个是大家都非常熟悉的系统自动更新功能,就不多说了。
用小猫上网而深受其苦的朋友记得在系统属性中关闭是不够的,还要将AutomaticUpdates这个服务禁用才可以。
以后需要更新,直接在IE中输入WindowsUpdate网站地址
5、BackgroundIntelligentTransferService
BITS(后台智能传输服务)的进程名是Svchost.exe,WinXPHome/Pro默认安装的启动类型为手动,依赖于RemoteProcedureCall、Workstation服务。
微软宣称BITS能够利用剩余的带宽传输文件,当网络切断或计算机重启时,后台智能传输服务会自动对文件传输加以维护,当网络重新连接时,后台智能传输服务将从停止的地方继续开始传输文件。
其实这个服务原是用来实现HTTP1.1服务器之间的信息传输,基本上它的应用也就是支持自动更新时的断点续传。
如果你禁用了AutomaticUpdates,留着它也没什么意义。
6、ClipBook
ClipSrv(剪贴板查看器服务)的进程名是clipsrv.exe,WinXPHome/Pro默认安装的启动类型为手动,依赖于NetworkDDE服务。
ClipBook通过NetworkDDE和NetworkDDEDSDM提供的网络动态数据交换服务,可查阅远程机器中的剪贴版,通俗地说ClipBook就是支持剪贴版查看器(ClipBookViewer)程序,该程序可允许剪贴页被远程计算机上的ClipBook浏览。
例如有个较大的文档工程,由A、B、C共同开发。
A负责Excel数据部分,B负责Visio制图部分,而C负责将两部分文档整合。
C经常需要对A、B的数据进行拷贝,愚蠢的做法是C打开A、B在网络邻居上共享的文档,然后将相关内容拷贝。
而对Windows体系有一定了解的用户应该听说过OLE这个东西,上面说的Excel数据和Visio制图都可以认为是独立的OLE对象,如果A、B、C的3台机器上的ClipBook服务都为开启,就可利用ClipBook共享这些OLE对象,C只要在自己的文档中建立OLE对象的链接指向A、B的Excel和Visio,A、B对自己工作的任何改动即可在C的复合文档里自动体现。
由此可见,ClipBook是基于对象的共享,而非简单的文件共享。
所以也很好理解,这是一把双刃剑,在带来极大方便的同时,也带来被非法远程访问ClipBook剪贴页面的安全隐患。
对于没有上述类似工作,又不准备使用或极少使用远程桌面的用户,这个服务完全可以禁用,在需要的时候在打开。
7、COM+EventSystem
EventSystem(COM+事件系统服务)的进程名是Svchost.exe,WinXPHome/Pro默认安装的启动类型为手动,依赖于RemoteProcedureCall服务。
对于非软件开发专业的朋友来说,COM+是个非常难理解的名词。
简单地说COM+是一种软件构件/组件的标准。
比如写一个软件好比是盖一座房子,而门窗等部件会根据标准设计,以求得省时省力。
COM组件即是Windows的门窗等标准组件了,COM+是对COM的进一步扩展,其具体含义在此就不详细介绍了。
Windows系统又是个典型的消息(事件)处理型系统,很多功能都是由消息来触发的,这就产生了COM+EventSystem。
我们要学习的是如何简单判断自己的系统中是否有程序依靠此服务。
检查你的系统安装盘下的“Programfiles/ComPlusApplications”目录,如果没有东西就可以把这个服务关闭了。
8、COM+SystemApplication
COMSysApp(COM+系统应用服务)的进程名是Dllhost.exe,WinXPHome/Pro默认安装的启动类型为手动,依赖于RemoteProcedureCall服务。
简单地说,COM+SystemApplication是COM+EventSystem的具体执行者,如果禁用了COM+EventSystem也就自然禁用它。
9、ComputerBrowser
Browser(计算机浏览器服务)的进程名是Svchost.exe,WinXPHome/Pro默认安装的启动类型为自动,依赖于Server和Workstation服务。
Browser服务维护着一个网络资源的清单,其中包括基于Windows的域、工作组和计算机,还有其他支持NetBIOS协议的网络设备,我们在“网上邻居”上看到显示的内容正是来源于此。
显然对于一般家庭用的计算机这个服务并不需要,除非计算机位于局域网上,例如用长城宽带的朋友,用它可方便地知道社区内的网络环境。
这个服务还是慎重对待较好,若不是太在意还是将其设置为自动吧。
10、CryptographicServices
CryptSvc(认证服务)的进程名是Svchost.exe,WinXPHome/Pro默认安装的启动类型为自动,依赖于RemoteProcedureCall服务。
CryptSvc是整个微软公钥体系(PKI,PublicKeyInfrastructure)的核心元件。
所谓的PK是一种公钥加密法,通过加密来保证数据的安全和传送,它与传统的秘密(对称)钥匙密码法不相同,PK密码法的基本特性是加密和解密的钥匙不同,每一个用户两把钥匙,一把公开密钥,一把私钥。
撇开这些难以一下子理解的术语,具体到CryptSvc本身来说,如果我们在WinXP中使用AutomaticUpdates自动更新,或在Internet上使用证书进行身份验证以及正确管理这些证书等,那么这个服务就不要关闭。
其中这个功能最有用的是,当你安装一个驱动程序时,以确定它是不是通过微软认证的。
因为驱动程序在操作系统内可以获得很高的运行权限,含有恶意代码的驱动程序会让你的电脑玩儿完,因而开发驱动程序的厂家一般都会去做微软认证,通过验证后,微软会在里面添加它的认证数据,再到你机器上安装时就可以通过CryptSvc检测升级。
11、DHCPClient
Dhcp(DHCP客户端服务)的进程名是Svchost.exe,WinXPHome/Pro默认安装的启动类型为自动,依赖于AFDNetworkingSupportEnvironment、NetBIOSoverTCP/IP以及TCP/IPProtocolDriver服务。
简单地说DHCP过程就是由网络中一台主机(DHCPServer)将所有的网络参数自动分配给网络内的任何一台计算机,而DHCPClient就是网络中被分配网络参数的对象计算机了。
如果能在网络中被自动分配IP地址等网络参数,那么这个DHCPClient服务就必不可少。
对于家庭单机用户来说,只要是使用DSL/Cable上网、开启ICS和IPSEC服务的人都需要这个来指定静态IP,所以通常这个服务是不关闭的,除非你的机器是完全的单机应用环境。
12、DistributedLinkTrackingClient
TrkWks(分布式连结追踪客户端服务)的进程名是Svchost.exe,WinXPHome/Pro默认安装的启动类型为自动,依赖于RemoteProcedureCall服务。
对于计算机有一定了解的人对于“分布式”这个词并不陌生,这里就不做解释。
TrkWks服务简单说,就是将整个网络中分散于各台计算机上的文件系统,所以当系统内发生文件移动,就会记录这个信息。
它是针对“域用户”的“NTFS文件”的“分布式连接”,这3个条件缺一个你就用不上它,对于不在局域网的单机用户来说,当然是禁用它。
13、DistributedTransactionCoordinator
MSDTC(分布式交易协调器)的进程名是Msdtct.exe,WinXPHome/Pro默认安装的启动类型为手动,依赖于RemoteProcedureCall和SecurityAccountsManager服务。
MSDTC主要用来处理分布式交易,所谓分布式交易,就是跨越两个或多个数据库的单一SQLServer内部的交易。
同一数据库内不同数据表间的交易,则不能被称做分布式交易。
显然对于需要同时处理多个数据库或文件系统的用户来说,这个服务意义重大,但它也是通常意义上一般用户不会使用到的服务,通常来说默认手动启动就可以了。
其实这个服务也容易受到远程拒绝服务攻击,禁用它也没有问题,而且更安全。
14、DNSClient
Dnscache(DNS客户端服务)的进程名是Svchost.exe,WinXPHome/Pro默认安装的启动类型为自动,依赖于TCP/IPProtocolDriver服务。
DNS(DomainNameSystem)也是常见的名词了,简单的解释就是当使用网页浏览器去上网时,会输入网站的网址,而这些网址名称在因特网上就是通过网域名称服务器(DNS服务器)来完成名称转换为IP地址。
实际上一些网站并不是只有一台服务器在工作,而是有多台服务器在同时工作,也就是说同样一个网站名称地址可对应不同的IP地址(在Win2000前的操作系统可执行此查询)。
但如果将操作系统换到Win2000或WinXP,同样的网站你又会发现总是查到同一个IP地址。
为什么会这样呢?
这就是DNSClient服务的作用。
为了达到用最快速、最有效率的方式让客户端能够迅速找到网域的验证服务,在Win2000、WinXP系统中,加入了DNS快取的功能,当第一次在找到了目的主机的IP地址后,操作系统就会将所查询到的名称及IP地址记录在本机的快取缓冲区(Cache)中,下次客户端还需要再查询时,就无需到DNS服务器上查询,而直接用本机DNSCache中的数据即可,所以你查询的结果始终是同一个IP地址。
这个服务关闭与否影响并不大,在安全性上最多只是可以泄露你的缓存内容,确定你曾经访问过的网站。
15、ErrorReportingService
ERSvc(错误报告服务)的进程名是Svchost.exe,WinXPHome/Pro默认安装的启动类型为自动,依赖于RemoteProcedureCall服务。
这个服务我们经常碰到,当使用程序出错是会跳出对话框,问你是否需要向微软发送报告,就是这个服务的功能。
次服务完全可设置为手动或禁止。
如果你想对错误报告进行更详细的设置,可以右键单击“我的电脑”图标,选择“属性”,在“高级选项卡”下电击“错误报告”按钮,在那里你可以决定是否发送错误报告以及发送怎样的错误报告。
而没有上网的用户就可直接禁用此服务了,上网用户如果担心报告会泄露你的私人信息(当然微软声称不会发生这样的事情),也大可禁用它。
16、EventLog
Eventlog(系统日志记录服务)的进程名是Services.exe,WinXPHome/Pro默认安装的启动类型为自动,没有任何服务依存关系。
EventLog服务负责记录来自系统和运行中程序的管理事件消息,为Windows和应用程序提供了一个标准而集中的方法来记录重要的软件和硬件事件。
打开事件查看器的方法是依次打开“开始—控制面板”然后选择打开“管理工具—事件查看器”。
这个服务是基础服务,请勿调整关闭。
17、FastUserSwitchingCompatibility
FastUserSwitchingCompatibility(多用户快速切换服务)的进程名是Svchost.exe,WinXPHome/Pro默认安装的启动类型为手动,依赖于TerminalServices服务。
此服务是WinXP的新服务,即快速的多用户切换环境。
解决了以前的多用户环境虽然安全但是切换用户环境需要重新启动,并丢失上一用户工作环境的问题。
使用很简单,只要进行“开始—注销—切换用户”操作即可方便地切换用户环境,是非常不错的多用户技术,如果用不着多用户环境就不用打开它(加入域后默认不能进行快速切换,当然可以禁用)。
18、FAXService
FAX(传真服务)的进程名是Fxssvc.exe,WinXPHome/Pro默认是没有安装的,依赖于PlugandPlay、PrintSpooler、RemoteProcedureCall、Telephony服务。
FAX服务在默认情况下是没有安装的但如果你安装了它就可以进行“开始—所有程序—附件—通讯—传真”操作,使用WinXP内置的传真服务来收发传真了,当然你要保证你的机器至少连接了小猫。
不需要的人当然禁用掉。
19、HelpandSupport
Helpsvc(帮助服务)的进程名是Svchost.exe,WinXPHome/Pro默认安装的启动类型为自动,依赖于RemoteProcedureCall服务。
这个服务用于支持WinXP帮助和支持中心的功能,如果你刚开始使用WinXP,这个帮助中心能解决不少问题。
如果觉得不需要帮助了,那就禁用吧。
20、HumanInterfaceDeviceAccess
HidServ(人性化接口装置服务)的进程名是Svchost.exe,WinXPHome/Pro默认安装的启动类型为禁用,依赖于RemoteProcedureCall服务。
这个服务简单说就是支持那些所谓的带有多媒体功能的键盘,比如带音量调节的键盘。
当然如果你有符合人体工程学标准的设备(主要指键盘和鼠标),那么这个服务就应当设置为自动,否则这些设备的一些功能将不能正常使用。
若是没有设备,或有自己的驱动,即可禁用此服务。
21、IMAPICD-BurningCOMService
ImapiService(IMAPICD刻录服务)的进程名是Imapi.exe,WinXPHome/Pro默认安装的启动类型为手动,没有任何服务依存关系。
这个就是WinXP内置的CD刻录服务了。
总的来说该服务的功能和性能十分