远程管理的使用,与活动目录AD的使用、组策略的使用一样重要。是衡量2000/03网络管理员、系统管理员水平的重要指标。
实用案例2:目标计算机由于“冲击波”病毒等原因,导致RPC服务被禁用了,重启机后RPC服务处于停止状态。症状:无法打开各种对话框;网上邻居/右键/属性,看不到“本地连接”;粘贴不可用,无法复制文件;任务栏找不到最小化的应用程序…………。结果导致:由于在本地无法打开RPC服务的属性对话框,也就没办法来重设RPC服务的启动类型了。
1、 若目标为2000计算机,可以这样来解决:利用远程“计算机管理”,设置目标机上的RPC服务启动类型:自动,然后重启目标计算机。
【说明】
顺便对想做这个实验的读者,说明一下如何停止RPC服务:
(1) 在2000上可以将RPC、Plug and Play等服务的启动类型由“自动”改为“禁止”(但不能手动停止,需要设“禁止”后重启机)。
(2) 但在03/XP上无法做到上述这点,启动类型下拉菜单为灰色不可选。要禁止,可以用2000计算机,通过远程“计算机管理”连接过来后,进行修改。也就是说,下拉菜单是否可选,取决于本地操作系统,而非目标操作系统。也可以利用sc config 命令将RPC服务启动类型设为“禁止”,后面详细介绍。
(3) 实验中要慎重,如果将RPC服务禁用停止后,又没有办法再把它启动起来,你将不得不重做系统。
(4) 我的两名助手在按着我的初稿,做这个实验时,不约而同地犯了同样的错误。因此我觉得:实在有必要把下面的问题及其解决办法说明一下。
问题:在试着禁用RPC服务时,他们都在RPC服务/右键/属性/“登录”标签下,在硬件配置文件Profile 1中将RPC服务禁用了。其结果导致后来即使把RPC服务的启动类型设为自动,但由于硬件配置文件的禁止,也无法启动RPC服务了。出错提示为:“在本地计算机上无法启动RPC服务。错误1058:无法启动服务,原因可能是已被禁用或与其相关联的设备没有启动。”
解决:由于此时无法找开对话框,就只能利用注册表了。
A、 开始/运行:regedit,找到下面的项:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Hardware Profiles\Current\System\CurrentControlSet\Enum\ROOT\LEGACY_RPCSS??
B、 将此项下的CSConfigFlags的数据由1改为0(相当于启用)。
说明:也可以干脆删除ROOT下的LEGACY_RPCSS项。
C、重启计算机。
2、若目标为03/XP计算机,当RPC服务停止时,使用远程“计算机管理”,无法连接到目标计算机。可以在故障机上本地运行:sc config rpcss start= auto,或远程运行:sc \\目标IP config rpcss start= auto来解决(后面详细介绍)。设成自动后,在“计算机管理”的图形界面下,虽然可以直接点工具栏上的“启动服务”按钮,手动将RPC服务启动起来(或本地开始/运行:net start rpcss),但最好还是重启一次机。
【说明】
感兴趣的读者,可以自己试一下:虽然此时RPC服务已经启动,但你用远程“计算机管理”仍然连不来,任务栏上也看不到运行的应用程序,需要重启03/XP以后才行。因为有众多的服务依赖于RPC服务,这些服务此时并没有启动起来。
【附加说明】
解决RPC服务禁用、停止还可以利用如下的办法。
(1)编辑本地注册表(若目标为2000,远程编辑注册表也可以):HLM\SYSTEM\CurrentControlSet\Services\RpcSs下,设start=2 (即自动)
(2)利用恢复控制台的Enable命令:Enable RpcSs service_auto_start
(3)如果计算机是域成员,可利用组策略来覆盖其本地设置。具体:域或OU的组策略/计算机配置/Windows设置/安全设置/系统服务(注:本地策略无此项)/RPC,选择服务启动模式
(4)附表:服务启动类型在注册表、恢复控制台的Enable命令、Sc config命令中的值。
启动类型 注册表 Enable Sc config
启动 0 Boot 空格Boot
系统 1 System 空格System