/* Style Definitions */
table.MsoNormalTable
{mso-style-name:普通表格;
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
mso-pagination:none;
font-size:10.5pt;
mso-bidi-font-size:11.0pt;
font-family:等线;
mso-ascii-font-family:等线;
mso-ascii-theme-font:minor-latin;
mso-fareast-font-family:等线;
mso-fareast-theme-font:minor-fareast;
mso-hansi-font-family:等线;
mso-hansi-theme-font:minor-latin;
mso-font-kerning:1.0pt;}

上一篇关于WSUS无法更新Win10 1809之后,最近又遇到了下游服务器不正常的问题,而且在交流群中有群友问过这类问题……

问题现象:

在下游服务器上使用同步更新后会看到一个一直处于需要文件的更新。

 SEQ 图 \*
ARABIC 1一直处于需要文件的更新

根据我的观察,最近几天一直都有,由于前一段时间修理了一下下游更新服务器,因大量文件需要同步,就一直等数据同步,可最近一段时间经常能看到这个,感觉到可能是哪里有问题,需要根据这个不正常的现象进行问题排查。

解决问题:

借助 HTTPNetworkSniffer嗅探工具,找找看HTTP请求中的不和谐反馈。

在点击立即同步后没多久,就在工具中看到了反馈404这个错误。

 SEQ 图 \*
ARABIC 2无法获取上游服务器中的更新文件

通过猜测esd文件的性质,和图1 中文件大小,估摸着可能就是这个文件。

【ESD文件是用来升级操作系统,尤其是Win10 更新的一种加密压缩文件,因此等同于一个操作系统的WIM文件,所以体积比较大是正常的】

在上游更新服务器上搜索这个文件 “A7497EF7AFF694250BE967D2D10C6116A5D26523.esd” 无果,可以确定问题应该存在于上游服务器。

对于WSUS更新服务器的设计框架是有一个数据库(通常是系统内建的SQLServer或者WID)记录补丁信息,一个叫做WSUS更新服务目录的地方下载补丁本体在磁盘文件系统上。

在上游服务器上安装“SQL Server 2014 Management Studio”,使用“ \\.\pipe\MICROSOFT##WID\tsql\query ”作为服务器名称进行连接。

 SEQ 图 \*
ARABIC 3通过SSMS数据库管理工具链接Win2012R2内置的数据库WID

新建一个SQL查询,在表 [dbo].[tbFile] 中查询缺失的文件信息。

 SEQ 图 \*
ARABIC 4详细的查询语句展示

 SEQ 图 \*
ARABIC 5查询所有表中列的全貌

增加一个筛选,我只要看到详细的URL下载链接即可(当多个缺失文件需要下载的时候,可将内容导出成表很有用)。

 SEQ 图 \*
ARABIC 6这里需要的是下载URL的详细数据,使用Ctrl+C将他复制出来进行单独下载

下载该文件到Content\23\A7497EF7AFF694250BE967D2D10C6116A5D26523.esd 中,具体Content文件夹在哪里,可以在IIS管理器中获取到。

 SEQ 图 \*
ARABIC 7使用IIS管理器的目录浏览功能进行本地文件系统中下载路径的确认

使用下载工具将缺失的“A7497EF7AFF694250BE967D2D10C6116A5D26523.esd”补充道对应目录

 SEQ 图 \*
ARABIC 8复原缺失文件到指定文件夹内,修改日期和创建日期新鲜出炉

再次通过下游服务器更新同步。

 SEQ 图 \*
ARABIC 9抓包工具中已经可以明确看到缺失文件成功被请求,并且在下载

 SEQ 图 \*
ARABIC 10完成全部更新的下游服务器

问题总结:

1.      这个问题前段时间在微软一个内部交流群里有人问到过,但一直没有看到解决办法,无独有偶,在我们自己的环境中也遇到了,在没有现成解决方案的情况下,需要更多的知识储备来完成问题的处理

2.      使用合适的工具在问题处理上会很非常高效

3.      问题是如何发生的,目前还不确定,可能是因为清理历史过时更新引起,但是并不是偶然,或许以后可能还会出现

-=EOB=-

为什么作为下游的WSUS更新服务器总有一直处于下载状态的文件的更多相关文章

  1. WSUS更新服务器

    http://windowsupdate.microsoft.com http://*.windowsupdate.microsoft.com   https://*.windowsupdate.mi ...

  2. WSUS补丁服务器部署详细

    利用WSUS部署更新程序 来源于网络转载  WSUS概述 为了让用户的windows系统与其他microsoft产品能够更安全,更稳定,因此microsoft会不定期在网站上推出最新的更新程序供用户下 ...

  3. linux上配置subversion服务器端安装配置并使用svn,windows本地检出,设置同步更新服务器的钩子

    参考http://my.oschina.net/junn/blog/164041 http://songxj.blog.51cto.com/620981/396113 http://5iwww.blo ...

  4. Zookeeper动态更新服务器列表

    -------------------------------------------------------------------------------------- [版权申明:本文系作者原创 ...

  5. Openfire更新服务器名称的方法

    转自:http://blog.csdn.net/vikione/article/details/5996932 Openfire更新服务器名称的方法: 1.登陆openfire管理页面,在主页面下方选 ...

  6. zeromq学习记录(二)天气更新服务器使用ZMQ_SUB ZMQ_PUB

    /************************************************************** 技术博客 http://www.cnblogs.com/itdef/   ...

  7. Xshell连接Linux服务器总掉线

    Xshell连接linux服务器总掉线,解决办法如下: 1.登录服务器后 [root@test134 ~]# cd /etc/ssh/ [root@test134 ssh]# vim sshd_con ...

  8. EAV/ESS 8.x 自定义服务器正确方法+更新服务器列表

    下面用64位的ESET Smart Security 8.0.319.1进行设置自定义更新服务器说明(注:修改方法32位和64位通用) 1.  让我们先看一下ESET Smart Security 8 ...

  9. 使用Python批量更新服务器文件【新手必学】

    买了个Linux服务器,Centos系统,装了个宝塔搭建了10个网站,比如有时候要在某个文件上加点代码,就要依次去10个文件改动,虽然宝塔是可视化页面操作,不需要用命令,但是也麻烦,虽然还有git的h ...

随机推荐

  1. 数据库 【redis】 命令大全

    以下纯属搬砖,我用Python抓取的redis命令列表页内容 如果想看命令的具体使用可查去官网查看,以下整理为个人查找方便而已 地理位置GEOADD 将指定的地理空间位置(纬度.经度.名称)添加到指定 ...

  2. 漏洞经验分享丨Java审计之XXE(上)

    最近在审计公司的某个项目时(Java方面),发现了几个有意思的Blind XXE漏洞,我觉得有必要分享给大家,尤其是Java审计新手,了解这些内容可以让你少走一些弯路. Java总体常出现的审计漏洞如 ...

  3. git的学习笔记(二):git远程操作

    1.创建ssh key ssh-keygen -t rsa -C "your_email@example.com" 执行命令后会在用户的家目录生成.ssh的隐藏文件夹,文件夹里有公 ...

  4. Java相关面试题总结+答案(二)

    [容器] 18. Java 容器都有哪些? 19. Collection 和 Collections 有什么区别? Collection 是一个集合接口,它提供了对集合对象进行基本操作的通用接口方法, ...

  5. Java的数组,栈,队列

    import java.util.Arrays; public class Array<E> { private E[] data; private int size; //构造函数,传入 ...

  6. 10个小技巧助您写出高性能的ASP.NET Core代码

    今天这篇文章我们来聊一聊如何提升并优化ASP.NET Core应用程序的性能,本文的大部分内容来自翻译,当然中间穿插着自己的理解,希望对大家有所帮助!话不多说开始今天的主题吧! 我们都知道性能是公共网 ...

  7. 【朝花夕拾】Android安全之(一)权限篇

    前言        从Android6.0开始,Android系统对权限的处理产生了很大的变化.如果APP运行的设备系统版本为Android6.0或更高,并且target在23或更高,那么danger ...

  8. java~lambda表达式让查询更优雅

    在java之前的版本里,如果希望从集合时查找符合条件的数据,如果先遍历他,这种写法是我们不能接受的,所以现在java有了lambda就很好的解决了这个问题,让代码更优雅一些! /** * lambda ...

  9. 安装Phalcon报错:gcc: Internal error: Killed (program cc1)

    起因 安装Phalcon可以参考github上面的README.md 下面是我在阿里云ECS服务器上面执行命令的过程: # 安装依赖 sudo yum install php-devel pcre-d ...

  10. Java代码登录拦截器例子

    通常我们在点击某个按钮的时候,对某个对象进行操作,是需要登陆才能做的,这时候就需要一个拦截器对某个方法进行拦截, 比如你在一个图书管理中心中你要借书,这时候你就会被要求出示借书证,管理员才能借书给你. ...