Posted in: Windows 10, Windows 11

Nastavení Windows update na Windows 10 nejen GPO

Dnes to bude o mnohokrát propíraném tématu, které pálí každého admina, ano mluvím o aktualizaci Windows 10. S ohledem na problémy způsobené aktualizacemi v listopadu 2019 toto téma nabírá na aktuálnosti i závažnosti. Na začátku si řekneme, jaké máme možnosti, pokud nepoužíváme WSUS, o kterém je k dispozici článek v rubrice o Windows serveru, pak se podíváme samozřejmě i na počítače ve Workgroup, tedy PC v domácnosti. Článek rozdělíme do dvou částí, první bude určena edicím Pro, Edu, Enterprise, Pro Workstation a druhá pak uživatelům edice Home (jmenuje se jen Windows 10).

Pro práci budeme využívat groupolicy (v případě pracovní skupiny pak local policy) a trochu registry. Je utopií si myslet, že jsme schopni na všech PC ve firmě nastavit správně Windows update pomocí grafiky pod správcovským účtem, ale i tak si připomeňme, jaké máme možnosti. Pomocí grafiky můžeme nastavit dobu, po kterou se PC nebude restartovat pro dokončení automatické aktualizace (tzv. dobu aktivního používání), dále pak můžeme nastavit počet dní, o který bude opožděna instalace cumulative updates ve dnech a pak dobu, o kterou se opozdí aktualizace na novou verzi systému, zde je možné provést odklad až o rok. V zásadě toto jsou nastavení, která nás budou zajímat, plus je doplníme o pár dalších, abychom to pomocí politik vynutili správně. Možná Vám přijde zbytečné řešit odklady, ale v případě vydání opravného balíčku aktualizace Vám bude instalována již opravená verze, nebo tam alespoň nebudete mít potenciálně problémovou verzi dlouho.
Pojďme se tedy podívat, jak Windows Update v politikách. Jen na začátek upozorním, že všechna popisovaná nastavení fungují od verze 1803 Windows 10. Ve vytvořeném objektu zásad si přejdeme do: Computer Configuration > Administrative Templates > Windows Components > Windows Update. Jako první nastavíme restartování, v českých GPO jde o položku vždy restartovat v naplánovaný čas (always restart at the expected time), pro Windows server 2016 a novější nastavíme 15 minut, pro Windows 10 doporučuji 90 až 180 minut. Jako další provedeme konfiguraci automatických aktualizací, kde bych pro pracovní stanice doporučil: 

Pro serverové OS pak následující konfiguraci: 

Nebo částečně ruční konfiguraci, kdy se aktualizace stáhne, ale administrátor musí spustit ručně její instalaci: 

Další, co musíme nastavit, je zákaz automatické aktualizace systému na novější verzi, což udělá položka turn off the upgrade to last version of Windows through Windows Update, kterou nastavíme na hodnotu Povoleno. Všimli jste si, že zde chybí konfigurace Insiders nebo odkladů? Pokud jde o možné členství v Insiders programu, to jde zakázat pokud máte verzi 1909 (na DC pak patřičně aktualizované ADMX), kde nastavíte Select when Preview Builds and Feature Updates are received, kde zvolíte aktualizační kanál, který doporučuji volbu Semi-Annul Channel. Ale co ten zbytek? Ten je potřeba provést pomocí registrů. Zde mám malou pomocnou berli pro všechny Adminy.
 V Objektu zásad si otevřete Computer Configuration > Preferences> Windows Configuration> Registry. Nyní si ještě otevře notepad.exe a zkopírujte do něj následující nastavení:
<?xml version=“1.0″ encoding=“UTF-8″?>
<Collection name=“HKEY_LOCAL_MACHINE“ clsid=“{53B533F5-224C-47e3-B01B-CA3B3F3FF4BF}“><Collection name=“SOFTWARE“ clsid=“{53B533F5-224C-47e3-B01B-CA3B3F3FF4BF}“><Collection name=“Microsoft“ clsid=“{53B533F5-224C-47e3-B01B-CA3B3F3FF4BF}“><Collection name=“WindowsUpdate“ clsid=“{53B533F5-224C-47e3-B01B-CA3B3F3FF4BF}“><Collection name=“UX“ clsid=“{53B533F5-224C-47e3-B01B-CA3B3F3FF4BF}“><Collection name=“Settings“ clsid=“{53B533F5-224C-47e3-B01B-CA3B3F3FF4BF}“><Registry name=“ActiveHoursEnd“ clsid=“{9CD4B2F4-923D-47f5-A062-E897DD1DAD50}“ image=“17″ descr=“Imported Reg File“><Properties name=“ActiveHoursEnd“ value=“00000014″ displayDecimal=“0″ type=“REG_DWORD“ default=“0″ key=“SOFTWARE\Microsoft\WindowsUpdate\UX\Settings“ hive=“HKEY_LOCAL_MACHINE“ action=“U“/></Registry><Registry name=“ActiveHoursStart“ clsid=“{9CD4B2F4-923D-47f5-A062-E897DD1DAD50}“ image=“17″ descr=“Imported Reg File“><Properties name=“ActiveHoursStart“ value=“00000006″ displayDecimal=“0″ type=“REG_DWORD“ default=“0″ key=“SOFTWARE\Microsoft\WindowsUpdate\UX\Settings“ hive=“HKEY_LOCAL_MACHINE“ action=“U“/></Registry><Registry name=“AllowAutoWindowsUpdateDownloadOverMeteredNetwork“ clsid=“{9CD4B2F4-923D-47f5-A062-E897DD1DAD50}“ image=“17″ descr=“Imported Reg File“><Properties name=“AllowAutoWindowsUpdateDownloadOverMeteredNetwork“ value=“00000000″ displayDecimal=“0″ type=“REG_DWORD“ default=“0″ key=“SOFTWARE\Microsoft\WindowsUpdate\UX\Settings“ hive=“HKEY_LOCAL_MACHINE“ action=“U“/></Registry><Registry name=“DeferFeatureUpdatesPeriodInDays“ clsid=“{9CD4B2F4-923D-47f5-A062-E897DD1DAD50}“ image=“17″ descr=“Imported Reg File“><Properties name=“DeferFeatureUpdatesPeriodInDays“ value=“0000016D“ displayDecimal=“0″ type=“REG_DWORD“ default=“0″ key=“SOFTWARE\Microsoft\WindowsUpdate\UX\Settings“ hive=“HKEY_LOCAL_MACHINE“ action=“U“/></Registry><Registry name=“DeferQualityUpdatesPeriodInDays“ clsid=“{9CD4B2F4-923D-47f5-A062-E897DD1DAD50}“ image=“17″ descr=“Imported Reg File“><Properties name=“DeferQualityUpdatesPeriodInDays“ value=“0000000A“ displayDecimal=“0″ type=“REG_DWORD“ default=“0″ key=“SOFTWARE\Microsoft\WindowsUpdate\UX\Settings“ hive=“HKEY_LOCAL_MACHINE“ action=“U“/></Registry><Registry name=“ExcludeWUDriversInQualityUpdate“ clsid=“{9CD4B2F4-923D-47f5-A062-E897DD1DAD50}“ image=“17″ descr=“Imported Reg File“><Properties name=“ExcludeWUDriversInQualityUpdate“ value=“00000000″ displayDecimal=“0″ type=“REG_DWORD“ default=“0″ key=“SOFTWARE\Microsoft\WindowsUpdate\UX\Settings“ hive=“HKEY_LOCAL_MACHINE“ action=“U“/></Registry><Registry name=“FlightCommitted“ clsid=“{9CD4B2F4-923D-47f5-A062-E897DD1DAD50}“ image=“17″ descr=“Imported Reg File“><Properties name=“FlightCommitted“ value=“00000000″ displayDecimal=“0″ type=“REG_DWORD“ default=“0″ key=“SOFTWARE\Microsoft\WindowsUpdate\UX\Settings“ hive=“HKEY_LOCAL_MACHINE“ action=“U“/></Registry><Registry name=“LastToastAction“ clsid=“{9CD4B2F4-923D-47f5-A062-E897DD1DAD50}“ image=“17″ descr=“Imported Reg File“><Properties name=“LastToastAction“ value=“00000000″ displayDecimal=“0″ type=“REG_DWORD“ default=“0″ key=“SOFTWARE\Microsoft\WindowsUpdate\UX\Settings“ hive=“HKEY_LOCAL_MACHINE“ action=“U“/></Registry><Registry name=“UxOption“ clsid=“{9CD4B2F4-923D-47f5-A062-E897DD1DAD50}“ image=“17″ descr=“Imported Reg File“><Properties name=“UxOption“ value=“00000000″ displayDecimal=“0″ type=“REG_DWORD“ default=“0″ key=“SOFTWARE\Microsoft\WindowsUpdate\UX\Settings“ hive=“HKEY_LOCAL_MACHINE“ action=“U“/></Registry><Registry name=“InsiderProgramEnabled“ clsid=“{9CD4B2F4-923D-47f5-A062-E897DD1DAD50}“ image=“17″ descr=“Imported Reg File“><Properties name=“InsiderProgramEnabled“ value=“00000000″ displayDecimal=“0″ type=“REG_DWORD“ default=“0″ key=“SOFTWARE\Microsoft\WindowsUpdate\UX\Settings“ hive=“HKEY_LOCAL_MACHINE“ action=“U“/></Registry><Registry name=“SmartActiveHoursStart“ clsid=“{9CD4B2F4-923D-47f5-A062-E897DD1DAD50}“ image=“17″ descr=“Imported Reg File“><Properties name=“SmartActiveHoursStart“ value=“00000008″ displayDecimal=“0″ type=“REG_DWORD“ default=“0″ key=“SOFTWARE\Microsoft\WindowsUpdate\UX\Settings“ hive=“HKEY_LOCAL_MACHINE“ action=“U“/></Registry><Registry name=“SmartActiveHoursEnd“ clsid=“{9CD4B2F4-923D-47f5-A062-E897DD1DAD50}“ image=“17″ descr=“Imported Reg File“><Properties name=“SmartActiveHoursEnd“ value=“00000011″ displayDecimal=“0″ type=“REG_DWORD“ default=“0″ key=“SOFTWARE\Microsoft\WindowsUpdate\UX\Settings“ hive=“HKEY_LOCAL_MACHINE“ action=“U“/></Registry><Registry name=“SmartActiveHoursSuggestionState“ clsid=“{9CD4B2F4-923D-47f5-A062-E897DD1DAD50}“ image=“17″ descr=“Imported Reg File“><Properties name=“SmartActiveHoursSuggestionState“ value=“00000000″ displayDecimal=“0″ type=“REG_DWORD“ default=“0″ key=“SOFTWARE\Microsoft\WindowsUpdate\UX\Settings“ hive=“HKEY_LOCAL_MACHINE“ action=“U“/></Registry><Registry name=“SmartActiveHoursTimestamp“ clsid=“{9CD4B2F4-923D-47f5-A062-E897DD1DAD50}“ image=“17″ descr=“Imported Reg File“><Properties name=“SmartActiveHoursTimestamp“ value=“01D5A3ACCEC559″ displayDecimal=“0″ type=“REG_QWORD“ default=“0″ key=“SOFTWARE\Microsoft\WindowsUpdate\UX\Settings“ hive=“HKEY_LOCAL_MACHINE“ action=“U“/></Registry><Registry name=“RestartNotificationsAllowed2″ clsid=“{9CD4B2F4-923D-47f5-A062-E897DD1DAD50}“ image=“17″ descr=“Imported Reg File“><Properties name=“RestartNotificationsAllowed2″ value=“00000001″ displayDecimal=“0″ type=“REG_DWORD“ default=“0″ key=“SOFTWARE\Microsoft\WindowsUpdate\UX\Settings“ hive=“HKEY_LOCAL_MACHINE“ action=“U“/></Registry></Collection></Collection></Collection></Collection></Collection></Collection>

Soubor uložte ve formátu XML v kódování UTF-8. Nyní soubor (nikoliv jeho obsah) zkopírujte a v editoru zásad skupiny si do registrů v PC větvi zvolte vložit a vše potvrďte, výsledek by měl vypadat následovně:

Na tomto místě dlužím vysvětlení toho, co to provede. Ono XML je export reg souboru připravený tak, aby se korektně zapsal do politik. Obsah zapisovaného reg souboru je následující:
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings]
„ActiveHoursEnd“=dword:00000014
„ActiveHoursStart“=dword:00000006
„AllowAutoWindowsUpdateDownloadOverMeteredNetwork“=dword:00000000
„DeferFeatureUpdatesPeriodInDays“=dword:0000016d
„DeferQualityUpdatesPeriodInDays“=dword:0000000a
„ExcludeWUDriversInQualityUpdate“=dword:00000000
„FlightCommitted“=dword:00000000
„LastToastAction“=dword:00000000
„UxOption“=dword:00000000
„InsiderProgramEnabled“=dword:00000000
„SmartActiveHoursStart“=dword:00000008
„SmartActiveHoursEnd“=dword:00000011
„SmartActiveHoursSuggestionState“=dword:00000000
„SmartActiveHoursTimestamp“=hex(b):f2,59,c5,ce,ac,a3,d5,01
„RestartNotificationsAllowed2″=dword:00000001
V regeditoru pak vše vypadá následovně: 


Ti trochu zběhlejší již tuší, registry nastavují ty možnosti, které nám v politikách chyběli a ty výchozí hodnoty některých nastaveních dále spravovaných politikou. Když to vezmeme shora dolů a koukneme se na to, tak vidíme následující nastavení:
• Konce doby aktivního používání ve 20:00
• Začátek doby aktivního používání v 6:00
• Zákaz stahovat aktualizace přes zpoplatněná připojení
• Odložení instalace nové verze systému o 365 dní
• Odložení instalace cumulative update o 10 dní
• Povolení aktualizace ovladačů
• …
• Zákaz insiders programu a pár dalších nastavení
Je samozřejmostí, že každý správný admin si dané řešení projde a vše si zkontroluje i když to pochází od kolegy z produkce, přeci jen vše dělá na vlastní odpovědnost! Tímto bych uzavřel první část článku, která je určena především profíkům. Jen bych rád upozornil, že serverové edice OS stran registrů je lepší jeden nastavit ručně v nastavení a následně si tento registr z něj exportovat.

Nyní jak jsem slíbil přišla řada na Home edici. S edicí Home je to náročnější, protože nemá v nastavení dané možnosti a ve výchozím stavu jí chybí editor lokálních politik. Zde bych doporučil použít registry, i když předem říkám, že nemusí být (v závislosti na verzi) akceptována všechna zapsaná nastavení. Postup je jednoduchý (ale i tak je určen předně hodně pokročilým uživatelům), stačí otevřít regedit a přejít na cestu: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings
Na tomto místě pak založit (případně upravit) následující klíče s uvedenými hodnotami a formáty.

Název hodnotyformátHotnota [HEX]
ActiveHoursEnddword00000014
ActiveHoursStartdword00000006
AllowAutoWindowsUpdateDownloadOverMeteredNetworkdword00000000
DeferFeatureUpdatesPeriodInDaysdword0000016d
DeferQualityUpdatesPeriodInDaysdword0000000a
ExcludeWUDriversInQualityUpdatedword00000000
InsiderProgramEnableddword00000000

Krom registrů máme ještě jednu možnost, jak ručně řídit jednotlivé aktualizace v domácím prostředí, či prostředí malé firmy cca do 5 PC, tou možností je nástroj „Show or hide updates“ od Microsoftu, který jak již název napovídá umožní skrýt nebo zobrazit aktualizace. Pokud je aktualizace skryta, není na systém instalována a pro její instalaci musíme danou aktualizaci zobrazit. Problém je, že musíme s tímto nástrojem „předběhnout“ vlastní instalaci aktualizace a pracujeme s jednou, nebo několika málo aktualizacemi. Nástroj je možné stáhnout z: http://download.microsoft.com/download/f/2/2/f22d5fdb-59cd-4275-8c95-1be17bf70b21/wushowhide.diagcab
Jedinou možností, jak mít opravdu 100% aktualizace pod kontrolou na edici Home, je zakázat službu Windows update a aktualizace stahovat ručně z https://catalog.update.microsoft.com a následně v offline reimu (opravdu fyzickém odpojení internetu, jinak to nemá smyls) službu jednou za čas povolit a instalovat balíčky, které jsme si stáhli z Windows update katalogu, následně službu opět zakázat a povolit přístup zařízení k internetu.

Back to Top