ab168 发表于 2018-6-12 13:07:17

Win Server 2012 R2 WSUS 无法识别 Win Server 2016 & Win10的解决办法

  各位好,今天给大家分享一个我遇到的问题。 相信微软在推出了 Windows Server 2016和Win10 操作系统之后,有很多同学都第一时间进行了安装和测试,想第一时间感受一下全新的系统平台带来的新体验。
  但是不知道有没有同学发现,如果我们在域环境中搭建了 Server 2016或者Win10的机器,域内的 WSUS 服务器有可能是无法识别出来的,所以会直接导致补丁推送失败,从而 Server2016和Win10的终端根本无法享受到Windows更新服务。
  那么怎么办呢? 今天我就来给大家说一下解决办法,让我们的“尝鲜”之旅不在恐慌!
  首先我们看一下现象。
  我们以一台 Windows Server 2016为例,首先我们在尝试通过WSUS更新服务的时候,发现系统能够识别出需要更新的补丁,但是一直无法下载。

  或者说还有如下的可能行,就是直接提示更新遇到错误。

  这个时候我们第一时间会想到登上WSUS去一探究竟。
  我们从下图中可以看到,我们安装了 Windows Server 2016 的一台服务器,居然被WSUS识别成了 Windows Server 2008 标准版(完全安装) 的版本。


  这个就说的通了,为什么我们的终端服务器上迟迟未收到正确的补丁包。WSUS都认错OS了,怎么推送补丁呢?
  那么我们想要纠正WSUS的这个错误,需要怎么做呢?
  答案就是 安装两个补丁 即可
  KB3095113
  下载地址: https://support.microsoft.com/zh-cn/help/3095113/update-to-enable-wsus-support-for-windows-10-feature-upgrades
  和
  KB3159706
  下载地址: https://catalog.update.microsoft.com/v7/site/Search.aspx?q=KB3159706%20
  下载完成这两个补丁后,按照顺序进行安装

  第一个 KB3095113 补丁没有什么特别需要注意的,安装后需要重启。
  但是第二个补丁 KB3159706 就有一些需要手动操作的地方了。
  我们来看一看:
  双击补丁安装包

  系统开始独立安装补丁

  安装完成,需要重启服务器

  等服务器重启完毕之后,打开IIS,检查您所使用的WSUS使用的是 http 还是 https 协议,通常我们使用的都是8530的 http协议。
  为什么要看这个呢? 因为不同的协议,接下来的手动操作办法是不同的。

  先说第一种,如果是 8530的 http协议,OK 那么恭喜你,你的步骤会很简单。
  1. 首先打开cmd命令行
  输入下面的命令 (路径大家酌情修改)
  "C:\Program Files\Update Services\Tools\wsusutil.exe" postinstall /servicing
  当看到如下字样,说明部署完成。

  2. 接下来 在服务器管理器添加角色和功能向导选择.NET Framework 4.5 功能下, HTTP 激活

  3. 安装完成后,重启WSUS服务。
  下面介绍第二种 启用了 8531 https 协议的同学们,你们的处理办法稍微麻烦一点。

[*]  将 Web.Config 文件的所有权分配给管理员组 (在提升的命令提示符下运行)︰
takeown /f web.config /a
icacls "C:\Program Files\Update Services\WebServices\ClientWebService\Web.config" /grant administrators:f
[*]  找到的 Web.Config 文件中的以下路径︰
  C:\Program Files\Update Services\WebServices\ClientWebService\Web.Config
[*]  在文件中进行以下更改。
注意:此代码示例表示一个文本块。行间距仅用于强调文本更改,以粗体显示。
<services>          <service
                name="Microsoft.UpdateServices.Internal.Client"
                behaviorConfiguration="ClientWebServiceBehaviour">               <!--                   These 4 endpoint bindings are required for supporting both http and https
                -->
                <endpoint address=""
                        binding="basicHttpBinding"
                        bindingConfiguration="SSL"
                        contract="Microsoft.UpdateServices.Internal.IClientWebService" />
                <endpoint address="secured"
                        binding="basicHttpBinding"
                        bindingConfiguration="SSL"
                        contract="Microsoft.UpdateServices.Internal.IClientWebService" />               <endpoint address=""                        binding="basicHttpBinding"
                        bindingConfiguration="ClientWebServiceBinding"
                        contract="Microsoft.UpdateServices.Internal.IClientWebService" />
                <endpoint address="secured"
                        binding="basicHttpBinding"
                        bindingConfiguration="ClientWebServiceBinding"
                        contract="Microsoft.UpdateServices.Internal.IClientWebService" />
          </service>
    </services>
[*]  添加multipleSiteBindingsEnabled ="true"特性到底部的 Web.Config 文件中,如下所示︰
</bindings> <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" /> </system.serviceModel>
  按照上述的两种方法进行了操作之后,我们再打开WSUS管理控制台。
  之前的服务器已经被识别为 Windows (version 10.0)了,这里大家不要觉得奇怪,因为 server 2016和 Win10 都是相同的架构平台,所以这里的显示是相同的。

  哈哈,补丁成功推送过来了,安装成功!

  搞定!
页: [1]
查看完整版本: Win Server 2012 R2 WSUS 无法识别 Win Server 2016 & Win10的解决办法