wsus微软更新服务 debug工具使用

Posted on 2011-08-05 11:34  xublogs  阅读(3119)  评论(0编辑  收藏  举报
 
wsus微软更新服务 debug工具使用
 

   用了这么久的wsus,感觉它非常的娇贵,服务器上稍微有个风吹草动。马上会提示你无法连接,或者是无法自动更新。往往最好的解决办法是重装一下wsus。这次我厌烦了重装,在以前痛苦调试的基础上,再调试一下吧。

   前两天在服务器上启用了第二块网块,安装了短信平台。因为移动对短信平台出口地址有要求,所以加了一条固定路由,本身短信平台使用apache+mysql+jsp,应该是没有什么影响的。但是报错无法连接了,具体的错误

[code]WSUS 管理控制台无法通过远程 API 连接到 WSUS 服务器。

请确保 Update Services 服务、IIS 和 SQL 正在该服务器上运行。如果该问题仍然存在,请尝试重新启动 IIS、SQL 和 Update Services 服务。

WSUS 管理控制台遇到意外错误。这可能是暂时错误;请尝试重新启动该管理控制台。如果此错误仍然存在,

请尝试通过删除 %appdata%\Microsoft\MMC\ 下的 wsus 文件来删除该控制台的永久性首选项。


System.IO.IOException -- 由于意外的数据包格式,握手失败。

Source
System

Stack Trace:
   在 System.Net.Security.SslState.StartReadFrame(Byte[] buffer, Int32 readBytes, AsyncProtocolRequest asyncRequest)
   在 System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest)
   在 System.Net.Security.SslState.CheckCompletionBeforeNextReceive(ProtocolToken message, AsyncProtocolRequest asyncRequest)
   在 System.Net.Security.SslState.StartSendBlob(Byte[] incoming, Int32 count, AsyncProtocolRequest asyncRequest)
   在 System.Net.Security.SslState.ForceAuthentication(Boolean receiveFirst, Byte[] buffer, AsyncProtocolRequest asyncRequest)
   在 System.Net.Security.SslState.ProcessAuthentication(LazyAsyncResult lazyResult)
   在 System.Net.TlsStream.CallProcessAuthentication(Object state)
   在 System.Threading.ExecutionContext.runTryCode(Object userData)
   在 System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData)
   在 System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
   在 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   在 System.Net.TlsStream.ProcessAuthentication(LazyAsyncResult result)
   在 System.Net.TlsStream.Write(Byte[] buffer, Int32 offset, Int32 size)
   在 System.Net.PooledStream.Write(Byte[] buffer, Int32 offset, Int32 size)
   在 System.Net.ConnectStream.WriteHeaders(Boolean async)
** this exception was nested inside of the following exception **


System.Net.WebException -- 基础连接已经关闭: 发送时发生错误。

Source
Microsoft.UpdateServices.Administration

Stack Trace:
   在 Microsoft.UpdateServices.Administration.AdminProxy.CreateUpdateServer(Object[] args)
   在 Microsoft.UpdateServices.Administration.AdminProxy.GetUpdateServer(String serverName, Boolean useSecureConnection, Int32 portNumber)
   在 Microsoft.UpdateServices.UI.AdminApiAccess.AdminApiTools.GetUpdateServer(String serverName, Boolean useSecureConnection, Int32 portNumber)
   在 Microsoft.UpdateServices.UI.SnapIn.Scope.ServerSummaryScopeNode.GetUpdateServer(PersistedServerSettings settings)
   在 Microsoft.UpdateServices.UI.SnapIn.Scope.ServerSummaryScopeNode.ConnectToServer()
   在 Microsoft.UpdateServices.UI.SnapIn.Scope.ServerSummaryScopeNode.get_ServerTools()[code]

       微软本身提供了一个工具,在安装目录tool里边。wsusutil.exe,主要的参数及功能如下。

checkhealth
检查服务器组件运行状态,在事件查看器应用程序栏可查看结果

configuressl
更改IIS配置后刷新注册表项

deletefrontendserver
从数据可中删除服务器记录

listinactiveapprovals
返回因为修改服务器语言设置导致不活动的批准列表

removeinactiveapprovals
删除因为服务器语言设置不当造成的不活动的更新审批

export and import
导入和导出更新元数据,用于多台WSUS之间的更新同步

healthmonitoring
在数据库中配置状态检视值


listfrontendservers
列出数据库中服务器信息

movecontent
更改WSUS服务器更新文件的储存位置。对于当前储存文件磁盘空间不足时就需要使用了。
movecontent <content path> <log file> [-skipcopy]
<content path>:内容文件的新根目录。路径必须存在。
<log file>    :要创建的日志文件的路径和文件名。
-skipcopy     :表示只应更改服务器配置,
                 不应复制内容文件。

reset
检查WSUS数据库中每个数据元是否于本地储存的更新文件相同,如果丢失或损坏,下次链接更新服务器将重新下载更新

deleteunneededrevisions
删除不在更新的数据元,运行此命令必须要先关掉控制台和IIS站点服务

usecustomwebsite
更改wsus web服务端口80为8530,可反向操作

第二个工具wsusdebugtool.exe安装目录里没有,需要到微软的wsus主页中去下载,主要功能

wsusdebugtool.exe /tool:purgeunneededfiles
删除WSUS中已拒绝安装的补丁

wsusdebugtools.exe /tool:setforegrounddownload
不使用BITS下载更新,直接连接下载

wsusdebugtool.exe /tool:getbitsstatus
查看bits工作状态

wsusdebugtool.exe /tool:getconfiguration
查看wsus服务设置信息

WsusDebugTool.exe /Tool:GetLogs /OutputCab:c:\ServerLogs.cab
导出WSUS服务器配置及安装等日志进行DEBUG

最常用的就是setforgrounddownload了,可以明显提高补丁下载速度。

 

根据我的情况,本能地选择了wsusutil.exe" usecustomwebsite true.将服务端口更改一下。连接OK。