由于Windows服务之间有很强的相互依存关系,当RPC服务被禁用后,很多依赖于RPC服务的系统服务也不能正常运行,如Messenger服务、Windows Installer服务等;另外,还可能导致某些应用程序运行失败和系统异常。下面笔者就介绍三种启动该服务的方法。 方法一:修改注册表法 点击"开始→运行",键入"Regedit"打开"注册表编辑器",展开分支"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RpcSs",将Start项的值修改为"00000002",重新启动系统即可。 方法二:使用sc.exe命令 点击"开始→运行",键入"cmd"进入"命令提示符"窗口,键入"sc config RpcSs start= auto"命令,系统会显示" SC ChangeServiceConfig SUCCESS",这样就可以成功启动RPC服务。 注意:要想使用"sc"命令必须安装Windows 2000/2003 Resource Kit(资源工具包),否则使用该命令无效。 方法三:使用故障恢复控制台 以Windows XP系统为例,在光驱中放入安装光盘,并且在BIOS参数中设置为从CD-ROM启动;启动电脑后,系统进入到Windows XP安装界面,按下"R"键登录到故障恢复控制台。在故障恢复控制台下,键入"enable RpcSs service_auto_start"命令,然后再键入"exit"命令,重新启动系统,以正常模式登录,即可成功启动RPC服务。 注意:"Enable"是故障恢复控制台提供的一个用来启动系统服务和设备驱动程序的命令,只能在故障恢复控制台下使用。 小心使用DCOM 这段时间在做一个编码转换的程序,其中用到了一个SDK,是以DCOM形式发布的。把这个DCOM添加到引用中,用VS2005编写成一个WebService程序,没有多久就成功了,本以为大功告成,可是接下来的麻烦就来了。 在将我的WebService程序发布添加到IIS中去以后,编码就无法完成!同样的代码,在粘贴到Windows程序中写了一个测试代码运行又一切正常。同样的代码WindowsForm中运行正常,在IIS中就无法使用这个问题以前也遇到过,一般是权限的问题。于是把AspNet用户的权限改为管理员权限还是不能运行。这个就麻烦了,知道是权限问题却不知道到底哪儿点权限有问题,郁闷。 打开事件查看器,发现里面有如下的系统错误日志: DCOM 遇到错误“无法启动服务,原因可能是已被禁用或与其相关联的设备没有启动。 ”,试图以参数“”启动服务 StiSvc 以运行服务器: {A1F4E726-8CF1-11D1-BF92-0060081ED811} 这个日志已经告诉我们了,错误就出在DCOM的权限上。原来以WindowsForm或在VS2005中的Web项目运行的时候,调用这个DCOM的是当前操作用户的权限,所以一般也没有问题,但是用IIS调用的时候就涉及到用户 IUSR_××××,IWAM_×××,Network Service 等用户权限,由于这些用户的权限在各个配置中都比较低,所以造成如文件不能写入,DCOM不能调用等错误。 我们这儿的解决办法其实也不复杂,到注册表中搜索提示的{******-*****}这个ID,可以到这个DCOM的名字,然后运行中输入dcomcnfg打开组件服务,然后到这个DCOM和相关调用的DCOM,将其权限中添加Network Service,把这个用户权限什么远程启动,远程激活之类的都打开。然后记住一定要重启机器,这样我们就可以在IIS中调用DCOM了。 错误ID:10005,错误信息:DCOM 遇到错误“无法启动服务,原因可能是它被禁用或与它相关联的设备没有启动。 ”,试图以参数“”启动服务 SENS 以运行服务器: Windows2000+SP4环境,系统做过优化,有时候发现系统在无操作的时候磁盘在读盘.于是查询系统日志,有以下信息 1.错误ID:10005,错误信息:DCOM 遇到错误“无法启动服务,原因可能是它被禁用或与它相关联的设备没有启动。 ”,试图以参数“”启动服务 SENS 以运行服务器: {D3938AB0-5B9D-11D1-8DD2-00AA004ABD5E} 2.错误ID:10005,错误信息:DCOM 遇到错误“依存服务或组无法启动。 ”,试图以参数“”启动服务 BITS 以运行服务器: {4991D34B-80A1-4291-83B6-3328366B9097} 因为本身系统服务做过优化,所以从服务出手,但是该动的服务太多了,不知道哪个是哪个了,于是驱猫上网搜索资料,终于到原因. SENS(System Event Notification Services ),BITS(Background Intelligent Transfer Service)服务被我设置成禁止了,如果把这两个服务改回到自动状态,就没有这个问题了。ps:这2个系统服务都有依存关系的服务,如果发现无法启动这个服务要去检查是不是依存的服务也被你关闭了哦~ |
发表评论