Windows Server 2012 R2 WSUS 無法識別 Windows Server 2016 & Windows 10的解決辦法
【引自horse87的博客】 各位好,今天給大家分享一個我遇到的問題。 相信微軟在推出了 Windows Server 2016和Win10 操作系統(tǒng)之后,有很多同學都***時間進行了安裝和測試,想***時間感受一下全新的系統(tǒng)平臺帶來的新體驗。
但是不知道有沒有同學發(fā)現(xiàn),如果我們在域環(huán)境中搭建了 Server 2016或者Win10的機器,域內(nèi)的 WSUS 服務(wù)器有可能是無法識別出來的,所以會直接導致補丁推送失敗,從而 Server2016和Win10的終端根本無法享受到Windows更新服務(wù)。
那么怎么辦呢? 今天我就來給大家說一下解決辦法,讓我們的“嘗鮮”之旅不在恐慌!
首先我們看一下現(xiàn)象。
我們以一臺 Windows Server 2016為例,首先我們在嘗試通過WSUS更新服務(wù)的時候,發(fā)現(xiàn)系統(tǒng)能夠識別出需要更新的補丁,但是一直無法下載。
或者說還有如下的可能行,就是直接提示更新遇到錯誤。
這個時候我們***時間會想到登上WSUS去一探究竟。
我們從下圖中可以看到,我們安裝了 Windows Server 2016 的一臺服務(wù)器,居然被WSUS識別成了 Windows Server 2008 標準版(完全安裝) 的版本。
這個就說的通了,為什么我們的終端服務(wù)器上遲遲未收到正確的補丁包。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 就有一些需要手動操作的地方了。
我們來看一看:
雙擊補丁安裝包
系統(tǒng)開始獨立安裝補丁
安裝完成,需要重啟服務(wù)器
等服務(wù)器重啟完畢之后,打開IIS,檢查您所使用的WSUS使用的是 http 還是 https 協(xié)議,通常我們使用的都是8530的 http協(xié)議。
為什么要看這個呢? 因為不同的協(xié)議,接下來的手動操作辦法是不同的。
先說***種,如果是 8530的 http協(xié)議,OK 那么恭喜你,你的步驟會很簡單。
1. 首先打開cmd命令行
輸入下面的命令 (路徑大家酌情修改)
"C:\Program Files\Update Services\Tools\wsusutil.exe" postinstall /servicing
當看到如下字樣,說明部署完成。
2. 接下來 在服務(wù)器管理器添加角色和功能向?qū)нx擇.NET Framework 4.5 功能下, HTTP 激活
3. 安裝完成后,重啟WSUS服務(wù)。
下面介紹第二種 啟用了 8531 https 協(xié)議的同學們,你們的處理辦法稍微麻煩一點。
將 Web.Config 文件的所有權(quán)分配給管理員組 (在提升的命令提示符下運行)︰
- 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
在文件中進行以下更改。
注意:此代碼示例表示一個文本塊。行間距僅用于強調(diào)文本更改,以粗體顯示。
- <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管理控制臺。
之前的服務(wù)器已經(jīng)被識別為 Windows (version 10.0)了,這里大家不要覺得奇怪,因為 server 2016和 Win10 都是相同的架構(gòu)平臺,所以這里的顯示是相同的。
哈哈,補丁成功推送過來了,安裝成功!
搞定!