内容简介: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 都是相同的架构平台,所以这里的显示是相同的。
哈哈,补丁成功推送过来了,安装成功!
搞定!
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- Composer无法识别PHP 7
- AI换脸无法识别?这里有个方法
- 在observeValueForKeyPath中无法识别ios swift CMutableVoidPointer
- 带了个对抗图像块,YOLOv2竟然无法识别我是人……
- Windows 10 解决无法完整下载安装语言包(日语输入法无法下载使用)
- ruby-on-rails – 无法推送到github,ssh:无法解析主机名
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。