WSUS на базі Windows Server 2012 і вище підтримує можливість установки на Windows 10 не тільки звичайних оновлень безпеки і виправлень, а й великих пакетів оновлень (в термінології Microsoft - апгрейдів). Але прямо з коробки цей функціонал не працює, такі апгрейди (в концепції Windows 10 називаються Redstone ) На клієнти просто не закачуються. Розберемося в проблемі.
У WSUS на Windows Server 2012 з'явився новий тип класів оновлень - Upgrades. Чи включається він в консолі WSUS в розділі Options -> Product and Classification -> вкладка Classification. Нас цікавить опція Upgrades (Якщо вона не включена, не поспішайте її включати!).
Якщо включити цю опцію, то сервер WSUS все одно не буде завантажувати апгрейди, видаючи при завантаженні помилку. Щоб сервер WSUS почав завантажувати пакунки апгрейдів, потрібно на WSUS сервері встановити окреме оновлення: KB 3095113 (Https://support.microsoft.com/en-us/kb/3095113).
Примітка. Якщо у вас раніше вже була активована класифікація Upgrades і виконувалася синхронізація, після установки KB 3095113 доведеться провести очистку бази WSUS за допомогою наступних PowerShell команд:
- Відключаємо класифікацію Upgrades
Get-WsusClassification | Where-Object -FilterScript $ _. Classification.Title -Eq "Upgrades" | Set-WsusClassification -Disable
- Видаляємо з бази інформацію про етик апгрейдах
$ Wsus = Get-WsusServer
$ Wsus.SearchUpdates ( "version 1511, 10586, 1607") | foreach $ wsus.DeleteUpdate ($ _. Id.UpdateId) - Залишилося включити класифікацію Upgrades
Get-WsusClassification | Where -FilterScript $ _. Classification.Title -Eq "Upgrades" | Set-WsusClassification
- І повторно запустити синхронізацію.
$ Sub = $ s.GetSubscription ()
$ Sub.StartSynchronization ()
Але це ще не все, навіть після установки KB 3095113 на сервері, пакети апгрейдів на клієнтах все одно не з'являються. У журналах WindowsUpdate.log на ПК з Windows 10 з'являється можна знайти помилку 0x80244019:
2016/08/24 15: 32: 36.3654849 1064 2660 DownloadManager BITS job 84234ABB-06CE-4251-941C-281B4424EB32 failed, updateId = 8CB55544-8521-238E-AAFB-422D647DC0A6.200, hr = 0x80190194. File URL = _http: //wsus.mydomain.com: 8530 / Content / 7C / 6F5CAF07827FAE0E37739F3222603EAF38808B7C.esd, local path = C: \ Windows \ SoftwareDistribution \ Download \ dc0dc85b32300fe505d5d9a2f479c1b0 \ 10586.0.151029-1700.th2_release_CLIENTENTERPRISE_VOL_x64fre_en-us.esd
2016/08/24 15: 33: 36.3658125 1064 2660 DownloadManager Progress failure bytes total = 2659650046, bytes transferred = 18574952
2016/08/24 15: 33: 36.3845664 1064 2660 DownloadManager Error 0x80244019 occurred while downloading update; notifying dependent calls.
У балці видно спроба закачати файл ESD (новий формат поширення образу ОС), -7C / 6F5CAF07827FAE0E37739F3222603EAF38808B7C.esd з сервера. Спробуйте відкрити цей URL в браузері - з'явиться помилка 404. Справа в тому, що цей тип файлів не дозволено в налаштуваннях IIS і його передача блокується.
Щоб дозволити серверу WSUS передавати ESD файли, відкрийте консоль Internet Information Service (IIS) Manager, перейдіть на сайт WSUS Administration і виберіть каталог Content. В налаштуваннях IIS виберіть розділ Mime Types.
Додайте новий тип MIME (Add MIME type):
Розширення файлу: .esd
Тип MIME: application / octet-stream
Порада. Те ж саме можна зробити командами:
cd% windir% \ system32 \ inetsrv
appcmd set config / section: staticContent /+"[fileExtension='.esd',mimeType='application/octet-stream '] "
Перезапустіть службу IIS (iisreset) і виконайте повторну синхронізацію на клієнтах. Клієнти Windows 10 повинні почати закачувати esd файли і можуть приступати до установки пакетів оновлень.
Примітка. Для інформації: WSUS версії 3.2 на Windows Server 2008 R2 роздавати апгрейди для Windows 10 не зможе. Судячи з усього, найближчим часом Microsoft цей недолік виправляти не планує.