1、微软 WSUS 补丁管理服务器常见故障解决方法WSUS 是由 Microsoft 提供的,为 Microsoft 操作系统、Microsoft Office、Microsoft 服务器类产品(ISA Server 等)和其他产品(Visual Studio 系列等)提供补丁管理的服务器。许多企业都部署了 WSUS 服务器,但WSUS 服务器的使用并不是一帆风顺的。本文介绍在使用 WSUS 服务器中碰到的几个重要问题并介绍解决方法。 当 CPU 占用率 100% 在第一次配置 WSUS 服务器时,在为工作站配置并使用 WSUS 服务器升级系统时,有些工作站的速度会变得非常慢。这些工作站的任务管理
2、器可能会显示CPU 占用率为 100%, svchost.exe 进程也可能占用 100%或将近 100%的 CPU 资源(如图、图)。 图 1 CPU 占用率 100%图 2 svchost.exe 占用了大量 CPU 资源 出现这种问题时,可以暂时中止 svchost.exe 进程,下载补丁并在工作站上安装,然后重新启动计算机就可以解决该问题。需要注意,在安装补丁的时候,出现图 3 所示的界面才表示补丁被正确安装了。在有的工作站上,需要反复多次地安装这个补丁才能解决问题。 针对这个问题,还有以下两点说明:1.WSUS 服务器已经提供了这个补丁,但由于各种原因,有的工作站不能及时安装,所以就
3、会出现 CPU 占用率 100%的现象。2.当 WSUS 在后台自动安装补丁时,CPU 占用率暂时可能会达到 100%,但不会一直在 100%,而是在 40%100%之间反复。出现这种情况是正常的。 工作站不能联系 WSUS 在使用 gpedit.msc 配置工作站进行 WSUS 服务器更新,或把编辑好的“注册表文件”导入工作站并从企业内部进行 WSUS 服务器升级,在第一次做这些工作时,为了让工作站立刻从 WSUS 服务器下载补丁,需要在命令提示符下输入以下内容: Wuauclt /detectnow Wuauclt1 /detectnow 然后再使用 netstat -an,如没有发现到
4、WSUS 服务器的连接,或没有使用上述命令,但过几天之后工作站没有从 WSUS 服务器下载任何补丁,并且在 WSUS服务器上也没有发现该工作站,那么需要在该工作站上安装 WSUS 客户端代理程序,并重新启动计算机来解决这个问题。 图 3 完成安装 KB927891 补丁 下载地址为:http:/ /WindowsUpdateAgent30-x86.exe 自动更新出了问题当工作站端配置为自动下载并计划安装时,工作站将会在指定的时间安装(如图)。可能有人认为,工作站不会在指定的时间安装,但经过多次测试,结果如下: 图 4 设置自动更新属性 当工作站从 WSUS 服务器下载完补丁后,会在右下角出现
5、黄色的感叹号并提示“已经为您的计算机准备好更新,单击此处安装这些更新”。根据用户是否选择,将会有三种情况: 1.如果用户单击黄色的感叹号,会弹出自动更新对话框,此时单击“快速安装”按钮,即开始安装补丁。 2.如果用户没有选择,则在到达设置的时间后(如图), WSUS 客户端程序会自动在后台安装补丁。这时,如果打开任务管理器,在“进程”对话框中会发现一个 svchost.exe 进程占用了大量的 CPU 资源,并且占用了大量内存,这个进程会完成补丁的自动安装工作。另外,还可以在“进程”中看到安装的补丁。 当安装完成后,如果安装的补丁需要重新启动计算机,如果把 WSUS 客户端“对于有己登录用户的
6、计算机,计划的自动更新安装不执行重新启动”这一项设置为“禁用”或“未配置”,则会弹出 5 分钟倒计时窗口,如果在指定时间内,没有人取消该操作,计算机将会重新启动。如果配置为“己启用”,则会弹出“更新完成,是否需要重新启动计算机”的提示。如果安装的补丁不需要重新启动计算机,则不会有任何提示。 3.如果在指定的时间没有安装,则 Windows XP 会在关机的时候,安装该更新。WSUS 不能下载补丁 如果 WSUS 服务器不能下载补丁,在“事件查看器”中,我们可以看到如下错误:“内容文件下载失败。原因:此服务器不支持必要的 HTTP 协议。后台智能传送服务(BITS)要求服务器支持范围协议头。”解
7、决方法如下: 首先,进入命令提示符。 如果使用 WSUS 2.0 自带的 MSDE 或 WMSDE 数据库并且默认安装,则执行如下代码:%programfiles%Update Services toolsosqlosql.exe -S %Computer name%WSUS -E -b -n -Q “USE SUSDB update tbConfigurationC set BitsDownloadPriorityFore ground=1“ 如果使用 WSUS 2.0 和一个已经存在的 Microsoft SQL Server 数据库,则执行如下代码:%programfiles%Updat
8、e Services toolsosqlosql.exe“ -S %Computer name% -E -b -n -Q “USE SUSDB update tbConfigurationC set BitsDownloadPriorityForeground=1“ 如果使用 WSUS 3.0 和 Windows Internal Database(默认安装),则执行如下代码:%programfiles%Update Services SetupExecuteSQL.exe -S %Computername%MICROSOFT#SS EE -d “SUSDB“ -Q “update tb Co
9、nfigurationC set BitsDownload PriorityForeground=1“ 如果使用 WSUS 3.0 和一个存在的 SQL Server 数据库安装,则执行如下代码:%programfiles%Update ServicesSetupExecute SQL.exe“-S %Computername% -d “SUSDB“ -Q “update tb ConfigurationC set BitsDownload PriorityForeground=1“ 然后再重新启动 Update Services 服务。 出现 0x80070002 错误一些工作站在更新到 X
10、P SP3 时可能出现 “一个问题阻止 Windows 正确检查此机器的许可证。错误代码 0x80070002”的提示。如果注销计算机,再次进入后仍然提示此错误,则表示该更新不能使用。 这是由于该计算机安装的是破解版本的 Windows XP 操作系统。一般情况下,使用 WSUS 服务器为网络中的工作站提供升级补丁时,不会检测操作系统是否是正版,但在以下的情况下例外:安装 Windows Media Player 11 时、安装 IE 7.0 时(后来取消了这个限制)和升级到 XP SP3 时。 出现这个问题后,虽然一些资料说,恢复 C:windowssystem32 下的oembios.bin 文件即可。但实际上,要解决这个问题在大多数情况下需要重新安装操作系统。在重新安装的时候,建议使用 Windows XP 的 VL 版本,而不要使用破解版或精简版。 了解这些典型问题可以为你管理 WSUS 服务器带来方便。当然,网络是发展的,WSUS 也并不是一成不变的,而且每个单位的实际情况不同,每个管理员的习惯也不一样。因此 WSUS 服务器出现的问题也可能不同。但我们只要沉着、冷静,在出现问题后仔细分析、判断,还是可以很快地解决的。