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 标准版(完全安装) 的版本。

image

图片

这个就说的通了,为什么我们的终端服务器上迟迟未收到正确的补丁包。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

 

下载完成这两个补丁后,按照顺序进行安装

image

第一个 KB3095113 补丁没有什么特别需要注意的,安装后需要重启。

但是第二个补丁 KB3159706 就有一些需要手动操作的地方了。

我们来看一看:

双击补丁安装包

image

系统开始独立安装补丁

image

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

image

等服务器重启完毕之后,打开IIS,检查您所使用的WSUS使用的是 http 还是 https 协议,通常我们使用的都是8530的 http协议。

为什么要看这个呢? 因为不同的协议,接下来的手动操作办法是不同的。

image

先说第一种,如果是 8530的 http协议,OK 那么恭喜你,你的步骤会很简单。

  1. 首先打开cmd命令行

输入下面的命令 (路径大家酌情修改)

"C:\Program Files\Update Services\Tools\wsusutil.exe" postinstall /servicing

当看到如下字样,说明部署完成。

image

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

image

  3. 安装完成后,重启WSUS服务。

 

下面介绍第二种 启用了 8531 https 协议的同学们,你们的处理办法稍微麻烦一点。

 

  1. 将 Web.Config 文件的所有权分配给管理员组 (在提升的命令提示符下运行)︰    

    takeown /f web.config /a
    icacls "C:\Program Files\Update Services\WebServices\ClientWebService\Web.config" /grant administrators:f

     

  2. 找到的 Web.Config 文件中的以下路径︰

    C:\Program Files\Update Services\WebServices\ClientWebService\Web.Config

  3. 在文件中进行以下更改。
    注意:此代码示例表示一个文本块。行间距仅用于强调文本更改,以粗体显示。

    <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>

     

  4. 添加multipleSiteBindingsEnabled ="true"特性到底部的 Web.Config 文件中,如下所示︰

    </bindings> <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" /> </system.serviceModel>

     

 

按照上述的两种方法进行了操作之后,我们再打开WSUS管理控制台。

之前的服务器已经被识别为 Windows (version 10.0)了,这里大家不要觉得奇怪,因为 server 2016和 Win10 都是相同的架构平台,所以这里的显示是相同的。

image

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

image

搞定!




     本文转自horse87 51CTO博客,原文链接:http://blog.51cto.com/horse87/1907648,如需转载请自行联系原作者

相关文章
|
网络协议 Windows
Windows Server 2016 检查更新时,错误代码8024401C 的解决方案
这个问题的核心是连接不到更新服务器,一部分情况是因为IPV6导致,关闭IPV6即可解决。 Windows Server关闭ipv6的办法: 开始 -> 运行 - > 输入 Regedit 进入注册表编辑器定位到: [HKEY_LOCAL_MACHINESYSTEMCurrentControlSet.
|
关系型数据库 数据库 Windows
|
网络协议 数据安全/隐私保护 Windows