WSUS nesklandumai su Windows 10 [LT]

2016 metų gale man teko atnaujinti mūsų WSUS sistemą. Iki tol apie 6 metus naudojom WSUS 3 versiją įdiegta jau gana senoje Windows Server 2008 platformoje. Tuo metu WSUS buvo diegiamas kaip atskiras servisas. Dabar gi kaip pagrindas buvo panaudotas naujas Windows Server 2012 R2 (aišku, neseniai pasirodžiusi 2016 serverio versija padarė ir 2012 R2 pasenusiu produktu). WSUS 4 jau yra diegiamas kaip viena iš standartiniu rolių (Server Role). Automatiškai parenkami visi kiti reikalavimai ir papildiniai (requirements, features). Nors vizualiai ir funkcionaliai WSUS 4 neatrodo labai pakitęs. Pats WSUS 4 diegimas ir konfigūravimas nesukėlė jokių problemų, juolab, kad dabar procesas yra toks standartizuotas ir supaprastintas. Bet tuo pačiu metu buvo nuspręsta paleisti ir Windows 10 pilotą (2 nauji kompiuteriai). Todėl naujoje WSUS sistemoje buvo iškart įjungti ir Windows 10 šaka ir atnaujinimai. Ir prasidėjo smagumai..

Pirmiausiai, norint kontroliuot ir platint Windows 10 atnaujinimus WSUS sistemoje, reikia numatyt daug daugiau talpos. Nes vienas Cumulative atnaujinimas gali sverti 1-1,5 GB 😯 Taip, laukiu nesulaukiu kada MS įvykdys pažadą sumažint Windows 10 atnaujinimų dydį su nauja Windows Update sistema (tikriausiai turėtų pasirodyti kartu su Creators Update 2017 pavasarį). Kitas dalykas – Feature Updates arba Upgrades (kaip ši šaka vadinama WSUS). Tai yra ne saugumo ar kritiniai atnaujinimai, o būtent nauji build’ai (kaip SR1 – 1511 ar Anniversary Update – 1607). WSUS 4 negali normaliai atpažinti tokių atnaujinimų be kelių specialių hotfix’ų. Todėl šios šakos įjungimas be šių pataisymų gali sugadinti jūsų WSUS 4 sistemą. Mes kol kas net nebandėm šio dalyko, kadangi kompiuteriuose buvo iškart diegiamas naujausias šiai dienai build’as – 1607. Apie niuansus su Upgrades galbūt parašysiu pavasarį, kai pasirodys Creators Update. Bet diegiant WSUS 4 sistemą galima iš anksto pasiruošti tam ir įrašyti pataisymus bei atlikti kitus reikalingus veiksmus (apie tai žemiau).

Problemos prasidėjo tik įjungus Windows 10 šaką ir sinchronizavus atnaujinimų sąrašą. Nauja Windows 10 1607 instaliacija, nurodžius jai tikrinti atnaujinimus iš WSUS, nesugebėdavo tai padaryti ir po kelių minučių parodydavo klaidą 0x8024401C (šios klaidos kodą jau atsimenu mintinai..). Tuo pačiu WSUS serveryje CPU apkrova pakildavo iki 100% ir laikėsi dar ~5 minutes. Žemiau aprašysiu visą WSUS 4 paruošimo Windows 10 atnaujinimų platinimui procesą, kuris padeda išvengti šios problemos. Bet tai nepadeda išvengti šios klaidos visiškai. Ši klaida vis tiek pasitaiko bandant naujinti šviežią 1607 buildą iš WSUS. Todėl pirmiausiai Windows 10 turi būti atnaujintas iš interneto (Windows Update serverio) ir tik tada bus galima sėkmingai tikrinti ir diegti atnaujinimus iš WSUS serverio. Visai tikėtina, kad ši problema vėl iškils ateityje, nes jos sprendimas yra pagrįstas patikrinimo intervalo pailginimu. Susikaupus didesniam skaičiui atnaujinimų ši problema gali iškilti vėl. Todėl jau pradedam žiūrėti į WSUS alternatyvas, kaip Intune ar SCCM, juolab Intune turėtų leisti valdyti ir kitus Windows 10 aspektus, suteikti MDM funkcijas.

Kad WSUS suprastų Windows 10 feature upgrades (o galbūt ir kitus atnaujinimus), reikia Windows Server 2012 R2 serveryje prieš sinchronizaciją įrašyti atnaujinimus:
KB3095113 (https://www.microsoft.com/en-us/download/details.aspx?id=51534)
ir
KB3159706 teikiamas tik per Windows Update,  todėl dar neprijungus serverio prie WSUS reikia daryt check updates iš Windows Update ir iš Recommended šakos jį įdiegt. Tuomet dar atlikti pakeitimus aprašytus šiame straipsnyje https://support.microsoft.com/en-us/kb/3159706 (juos būtina atlikti):

  • Paleist cmd su Run as Administrator ir paleist komandą:
    “C:\Program Files\Update Services\Tools\wsusutil.exe” postinstall /servicing
    Palaukt kol parašys „Post install has successfully completed“.
  • Paleist Server Manager > Add Roles and Features, Features lange išskleisti .NET Framework 4.5 Features > WCF Services – pažymėt HTTP Activation. Add Features > Next > Install. Close.
  • Atidaryt services.msc – perkraut WSUS Service.
  • Jei SSL neįjungtas, su SSL susijusių žingsnių nereikia daryti.

Toliau atliekami pakeitimai, kad būtų išvengta aukščiau paminėtos klaidos:

  • Atidaryt IIS Manager serveryje, išskleisti Sites, paspausti ant WSUS Administration saito. Dešinėje paspausti Advanced Settings. Išskleisti Limits ir laukelyje „Connection Time-out (seconds)“ vietoj 180 įrašyt didesnę reikšmę, pvz. 320.
    Application Pools lange paspausti ant WsusPool, tuomet Advances Settings > Recycling šakoje pakeisti Private Memory Limit (KB) į 0 (reiškia neribotas dydis).
    Sustabdyt IIS servisą (paspaudus Stop IIS Manageryje, kai atsistoji ant SERVER (SERVER\administrator))
    Paleist Notepad su Run as administrator ir redaguot C:\Program Files\Update Services\WebServices\ClientWebService\web.config failą, pakeičiant eilute:

<httpRuntime maxRequestLength=”4096″ />
į
<httpRuntime maxRequestLength=”204800″ executionTimeout=”7200″/>
Išsaugoti failą ant viršaus (ne kaip txt).
Vėl paleisti IIS servisą.

Tokiu būdu pavyksta patikrint atnaujinimus jau atnaujintoms Windows 10 mašinoms. Šviežias 1607 buildo diegimas vis tiek rodo klaidą.

ATNAUJINTA: panašu, kad MS pagaliau išleido pataisymą nelemtai 0x8024401C klaidai. Todėl prieš keičiant IIS nustatymus galima pabandyt įdiegt jį. Bet kiti .atnaujinimai vis tiek reikalingi.