内容简介:Windows Server 2012 R2 WSUS 无法识别 Windows Server 2016 & Windows 10的解决办法
【引自horse87的博客】 各位好,今天给大家分享一个我遇到的问题。 相信微软在推出了 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 文件中,如下所示︰
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" /> </system.serviceModel>
按照上述的两种方法进行了操作之后,我们再打开WSUS管理控制台。
之前的服务器已经被识别为 Windows (version 10.0)了,这里大家不要觉得奇怪,因为 server 2016和 Win10 都是相同的架构平台,所以这里的显示是相同的。
哈哈,补丁成功推送过来了,安装成功!
搞定!
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Don't Make Me Think
Steve Krug / New Riders Press / 18 August, 2005 / $35.00
Five years and more than 100,000 copies after it was first published, it's hard to imagine anyone working in Web design who hasn't read Steve Krug's "instant classic" on Web usability, but people are ......一起来看看 《Don't Make Me Think》 这本书的介绍吧!