既然部分客户机是可以正常进行更新的,那么首先假设问题是出现在客户端。

建议在一台有问题的客户机上进行如下检查:

1.运行”regedit”打开注册表编辑器并根据以下样例检查注册表设置:
=============
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate]
“WUServer”=”
[url]http://wsusserver.domain.name[/url]
“WUStatusServer”=”
[url]http://wsusserver.domain.name[/url]

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU]
“NoAutoUpdate”=dword:00000000
“AUOptions”=dword:00000003
“ScheduledInstallDay”=dword:00000000
“ScheduledInstallTime”=dword:00000005
“UseWUServer”=dword:00000001
==============

请确认”WUServer”和”WUStatusServer”中的URL为正确的WSUS服务器的地址。如果WSUS服务器装在8530端口上,则地址为”[url]http://wsusserver.domain.name:8530[/url]”.

如果此URL不正确,请运行rsop.msc,然后在此节点中查看Windows Update的组策略结果是否正确:
计算机配置->管理模板->Windows组件->Windows Update

2. 在这台客户机上打开IE,然后访问以下URL看能否成功出现下载提示:
[url]http:///selfupdate/wuident.cab[/url]

(如果WSUS使用8530,除了要访问以上URL外,还要访问:[url]http://:8530/selfupdate/wuident.cab[/url])

如果不成功,请检查有无防火墙阻止通讯;另外,打开IIS控制台,在站点属性的目录安全性选项卡下,查看是否配置了IP筛选。

3. 请尝试按以下步骤更新该客户机的SusClientId并立即报告:
a. 将”====”之间的命令复制到一个空白的txt文件,然后保存为clean.bat:
========================
reg delete HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate /v AccountDomainSid /f
reg delete HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate /v PingID /f
reg delete HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate /v
SusClientId /f
net stop wuauserv
del %SystemRoot%\SoftwareDistribution\*.* /S /Q
net start wuauserv
wuauclt /resetauthorization /detectnow
wuauclt.exe /downloadnow
wuauclt.exe /reportnow
========================
(有可能需要在文件夹选项中更改”隐藏已知类型的文件扩展名”选项以显示文件后缀名。)

b. 以管理员身份在该客户机上运行clean.bat。

4、打开IE,输入http://WSUS服务器地址/iuident.cab和http://WSUS服务器地址/selfupdate/wuident.cab,看这两个cab文件是否可以正常下载。这点很重要,特别是后面的wuident.cab文件,如果无法提示下载,客户端就肯定无法向服务器报告状态。解决方法是,打开IIS服务器控制台,检查是否存在selfupdate的虚拟站点,如果有,则查看安全权限是否开启了匿名访问,如果没有,可以手工添加一个selfupdate的虚拟站点,并开启匿名访问,过程参照下面的截图

5、打开C:\Program Files\Update Services\setup,双击installselfupdateonport80.vbs(此VBS脚本应该是开启80端口的访问,但是8530的要如何设置,在下没有设置过,请知道的朋友告诉一声)