Zobrazit protokol aktualizace WindowsUpdate.log v systému Windows 10 / Windows Server 2016

Historicky byl textový soubor používán k analýze činnosti agenta a služby Windows Update. WindowsUpdate.log. V systému Windows 10 (Windows Server 2016/2019) jsou však protokoly Windows Update namísto obvyklého textového souboru ve formátu Sledování událostí pro Windows (ETW). Díky tomu se zvyšuje výkon subsystému protokolování a šetří se místo na disku.

Události Windows Update tedy již nejsou zapsány v reálném čase do souboru % windir% \ WindowsUpdate.log. A ačkoli samotný soubor je stále přítomen v kořenové složce Windows, uvádí pouze, že formát ETW je nyní používán ke shromažďování protokolů.

Protokoly Windows Update jsou nyní generovány pomocí ETW (Tracing Event for Windows). % MINIFYHTML94c94c461bdbf801ea1528dc9c5b1f4e5% Spusťte prosím příkaz Get-WindowsUpdateLog PowerShell, chcete-li převést stopy ETW na čitelný soubor WindowsUpdate.log. Další informace naleznete na adrese http://go.microsoft.com/fwlink/?LinkId=518345

Hlavní nepříjemnosti pro správce - nyní nemůžete rychle analyzovat textový soubor WindowsUpdate.log, najít chyby ve službě Windows Update Agent (viz úplný seznam chyb Windows Update), zkontrolovat nastavení služby WSUS a analyzovat historii instalace aktualizace.

Pro pohodlnější analýzu událostí aktualizace služeb můžete převést události ETW do známého textového formátu WindowsUpdate.log. Chcete-li to provést, použijte rutinu PowerShell - Get-WindowsUpdateLog. Tato rutina vám umožňuje shromažďovat informace od všech .etl soubory (uložené v adresáři C: \ WINDOWS \ Logs \ WindowsUpdate) a tvoří jeden soubor WindowsUpdate.log.

Chcete-li vygenerovat soubor WindowsUpdate.log a umístit jej do adresáře C: \ PS \ Logs, spusťte v konzole PowerShell následující příkaz:

Get-WindowsUpdateLog -logpath C: \ PS \ Logs \ WindowsUpdate.log

Při spuštění rutiny cmdlet v systému Windows Server 2016 Get-WindowsUpdateLog Může se zobrazit chyba souboru SymSrv.dll:

Kopie-položka: Nelze najít cestu 'C: \ Program Files \ Windows Defender \ SymSrv.dll', protože neexistuje. V C: \ Windows \ system32 \ WindowsPowerShell \ v1.0 \ Moduules \ WindowsUpdate \ WindowsUpdateLog.psm1: 56 char: 5

Pokud na serveru není nainstalován antivirový program Windows Defender, obvykle chybí soubor „C: \ Program Files \ Windows Defender \ SymSrv.dll“..

Chcete-li chybu opravit, můžete nainstalovat program Defender, zkopírovat soubor SymSrv.dll z jiného systému Windows Server 2016 / Windows 10 nebo jej vyhledat v adresáři „C: \ Windows \ WinSxS \“ (můj adresář se jmenoval C: \ Windows \ WinSxS \ amd64_windows -defender-service-cloudclean_ ...) a zkopírujte jej do složky C: \ Program Files \ Windows Defender.

Ve starších verzích systému Windows 10 při prvním spuštění rutiny cmdlet Get-WindowsUpdateLog, stáhněte a nainstalujte Microsoft Symbol Server (Internetový obchod se symboly Microsoft). Nejnovější verze systému Windows 10 přistupují online k serveru Microsoft Character Server v Azure. Potom rutina:

  1. Shromažďuje data ze všech souborů .etl;
  2. Převádí data do formátu CSV (výchozí) nebo XML;
  3. Převede data z přechodných souborů a přidá je do textového souboru protokolu určeného v parametru LogPath (pokud není zadán parametr LogPath, vytvoří se na ploše uživatele, který příkaz spustil, soubor WindowsUpdate.log).
V některých případech se v protokolu WindowsUpdate.log zobrazí tyto řádky

Neznámý (10): GUID = 5e0ee4cc-3618-f43a-06ca-9d3b0dabc11a (Nebyly nalezeny žádné informace o formátu).

To znamená, že nemáte nainstalován server Windows Symbol (právě teď nemůžete stáhnout samostatný instalační program pro symboly Windows, protože se automaticky stahují z úložiště symbolů v Azure). V izolovaných prostředích můžete použít offline verzi serveru symbolů podle článku Offline Symbols for Windows Update.

Otevřete soubor protokolu pomocí tohoto příkazu PowerShell:

Invoke-Item -Path C: \ PS \ Logs \ WindowsUpdate.log

Tip. Vezměte prosím na vědomí, že vytvořený soubor WindowsUpdate.log je statický a neaktualizuje se v reálném čase, jako v předchozích verzích systému Windows. Chcete-li aktualizovat data protokolu aktualizace, musíte znovu spustit cmdlet Get-WindowsUpdateLog nebo vytvořit skript, který automaticky aktualizuje soubor s určitou frekvencí (soubor je přepsán).

Je docela obtížné analyzovat výsledný soubor WindowsUpdate.log, jako sbírá data z mnoha zdrojů:

  • AGENT - Windows Update Agent Events;
  • AU - automatická aktualizace;
  • AUCLNT - uživatelská interakce;
  • HANDLER - správa instalačního programu aktualizace;
  • MISC - obecné informace;
  • PT-synchronizace aktualizací s místním úložištěm;
  • ZPRÁVA - sběr zpráv;
  • SERVIS - spuštění / zastavení služby wuauserv;
  • SETUP - instalace nových verzí klienta Windows Update;
  • DownloadManager - stahujte aktualizace do místní mezipaměti;
  • Handler, Setup - záhlaví instalačního programu (CBS atd.);
  • Atd.

Posledních 30 událostí můžete vybrat z agenta Windows Update Agent pomocí jednoduchého regulárního výrazu:

Vyberte-String -Pattern '\ sagent \ s' -Path C: \ PS \ Logs \ WindowsUpdate.log | Select-Object-Last 30

Události v protokolu můžete filtrovat pro několik zdrojů:

Vyberte-String -Pattern '\ sagent \ s | \ smisc \ s' -Path c: \ PS \ Logs \ WindowsUpdate.log | Vyberte objekt - posledních 50

Podobně můžete vyhledávat události podle čísla KB, chyby (FAILED, Exit Code, FATAL lines).

Můžete také vygenerovat soubor WindowsUpdate.log pro vzdálený počítač / server:

Get-WindowsUpdateLog -ETLPath \\ PC221 \ C $ \ windows \ Logs \ WindowsUpdate -LogPath C: \ PS \ Logs \ windowsupdatePC221.log

Protokoly Prohlížeče událostí v této části mohou být také užitečné pro analýzu provozu služby Windows Update. Protokoly aplikací a služeb -> Microsoft -> Windows -> WindowsUpdateClient -> Provozní.

Pomocí modulu PSWindowsUpdate můžete spravovat aktualizace z prostředí PowerShell.