标题:[SBS] 解决因安装更新补丁引发的 MSExchangeAB 与 WSUS 端口冲突故障 出处:gOxiA=苏繁=SuFan Blog 时间:Wed, 11 Jul 2012 17:31:16 +0000 作者:gOxiA 地址:https://goxia.maytide.net/read.php/1596.htm 内容: 前几日 gOxiA 将公司的 Windows Small Business Server 2011 Standard(SBS2011Std) 系统进行了升级更新,为其安装了 Exhange Server 2010 SP2 和后续的 Update Rollup 2,没想到却出现了问题。在 Update Rollup 2 安装接近结束时,更新进程停止了,日志中一直报 GPO 相关的错误,等待了近半个小时的时间,没有任何进展,无奈强制重启了 SBS2011Std 服务器,重启完毕后发现与 Exhcange Server 相关的服务都被禁用了,于是再次启动 Windows Update,并重新更新 Update Rollup 2 补丁,这次算是顺利的完成了更新,待重启服务器后发现 Exchange Server 相关服务还是禁用状态,随即手工将其他更改为自动,并启动服务。 Exchange Server 故障惊魂才过,今天登录 SBS2011Std 服务器才在 Dashboard 中发现“网络基础摘要”中“更新”状态没有查询结果。 启动 Windows Server Update Services 控制台提示错误,检查了 IIS 才发现“WSUS 管理”站点时停止状态,当手动去启动它时提示错误“另一个程序正在使用此文件,进程无法访问。(异常来自 HRESULT : 0x80070020)”,如下图所示: 从错误信息判断,该故障是典型的端口被其他程序占用所导致的问题,为了搞清是哪个程序占用了端口,我们可以用 netstat 进行查找,为此执行如下命令行: netstat –aon | find “:8530” 在查询结果中我们能得到如下图类似的结果,确认每条信息结尾的数字就是该程序的 PID,然后在任务管理器中通过 PID 即可定位程序。 从截图中我们能看到占用 WSUS 8530 端口的进程是“MSExchangeAB”即“Microsoft Exchange 通讯簿”服务,看来应该是之前安装了 Exchange Server 的更新导致 MSExchangeAB 端口变更,并占用了 WSUS 的 8530 端口,参考了“安装指南模板 - 客户端访问服务器”,尝试手工为 MSExhangeAB 指定静态端口,为此执行如下步骤: 启动“regedit”注册表编辑器,定位到“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\MSExchangeAB”,创建一个新项并命名为“Parameters”,再其下创建一个名为“RpcTcpPort”的字符串,并将值设置为“59596”,该值就是 MSExchangeAB 的端口,当然也可以指定为其他不受冲突的端口。修改完毕后重启 MSExchangeAB 服务。 重新在 IIS 里启动“WSUS 管理”站点,故障消除!在恢复正常后,我们可以把之前设置的 MSExchangeAB 静态端口删除。 Generated by Bo-blog 2.1.1 Release