Prezrite si denník aktualizácií systému WindowsUpdate.log v systéme Windows 10 / Windows Server 2016

Historicky sa textový súbor používa na analýzu činnosti agenta a služby Windows Update Windowsupdate.log. V systéme Windows 10 (Windows Server 2016/2019) sú denníky Windows Update namiesto zvyčajného textového súboru vo formáte Sledovanie udalostí pre Windows (ETW). V dôsledku toho sa zvyšuje výkon subsystému protokolovania a šetrí sa miesto na disku.

Udalosti služby Windows Update sa teda už v reálnom čase nezapisujú do súboru % windir% \ WindowsUpdate.log. Aj keď samotný súbor je stále v koreňovom adresári priečinka Windows, uvádza sa v ňom iba to, že formát ETW sa teraz používa na zhromažďovanie protokolov..

Denníky Windows Update sa teraz generujú pomocou ETW (Tracing Event for Windows). % MINIFYHTML94c94c461bdbf801ea1528dc9c5b1f4e5% Spustením príkazu Get-WindowsUpdateLog PowerShell skonvertujte stopy ETW na čitateľný súbor WindowsUpdate.log. Ďalšie informácie nájdete na stránke http://go.microsoft.com/fwlink/?LinkId=518345

Hlavné nepríjemnosti pre správcov - teraz nemôžete rýchlo analyzovať textový súbor WindowsUpdate.log, nájsť chyby v službe Windows Update Agent (pozri úplný zoznam chýb Windows Update), skontrolovať nastavenia služby WSUS a analyzovať históriu inštalácie aktualizácie..

Pre pohodlnejšiu analýzu udalostí aktualizačných služieb môžete previesť udalosti ETW do známeho textového formátu WindowsUpdate.log. Na tento účel použite cmdlet PowerShell - Get-WindowsUpdateLog. Táto rutina vám umožňuje zhromažďovať informácie od všetkých .ETL súbory (uložené v adresári C: \ WINDOWS \ Logs \ WindowsUpdate) a tvoria jeden súbor WindowsUpdate.log.

Ak chcete vygenerovať súbor WindowsUpdate.log a umiestniť ho do adresára C: \ PS \ Logs, spustite nasledujúci príkaz v konzole PowerShell:

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

Keď v systéme Windows Server 2016 spustíte rutinu cmdlet Get-WindowsUpdateLog Môže sa zobraziť chyba súboru SymSrv.dll:

Kópia - položka: Cesta „C: \ Program Files \ Windows Defender \ SymSrv.dll“ sa nedá nájsť, pretože neexistuje. V C: \ Windows \ system32 \ WindowsPowerShell \ v1.0 \ Moduules \ WindowsUpdate \ WindowsUpdateLog.psm1: 56 char: 5

Ak na serveri nie je nainštalovaný antivírus programu Windows Defender, súbor „C: \ Program Files \ Windows Defender \ SymSrv.dll“ chýba..

Ak chcete chybu opraviť, môžete nainštalovať program Defender, skopírujte súbor SymSrv.dll z iného systému Windows Server 2016 / Windows 10 alebo ho vyhľadajte v adresári „C: \ Windows \ WinSxS \“ (môj adresár sa nazýval C: \ Windows \ WinSxS \ amd64_windows -defender-service-cloudclean_ ...) a skopírujte ho do priečinka C: \ Program Files \ Windows Defender.

V starších verziách systému Windows 10 pri prvom spustení rutiny cmdlet Get-WindowsUpdateLog, stiahnite a nainštalujte Microsoft Symbol Server (Internetový obchod so symbolmi Microsoft). Najnovšie verzie systému Windows 10 majú prístup na server Microsoft Character Server v službe Azure online. Potom rutina:

  1. Zhromažďuje údaje zo všetkých súborov .etl;
  2. Konvertuje údaje do formátu CSV (predvolený) alebo XML;
  3. Skonvertuje údaje z prechodných súborov a pridá ich do textového súboru protokolu špecifikovaného v parametri LogPath (ak parameter LogPath nie je zadaný, súbor WindowsUpdate.log sa vytvorí na pracovnej ploche používateľa, ktorý spustil príkaz).
V niektorých prípadoch sa v protokole WindowsUpdate.log takéto riadky zobrazujú

Neznáme (10): GUID = 5e0ee4cc-3618-f43a-06ca-9d3b0dabc11a (Nenašli sa žiadne informácie o formáte).

To znamená, že nemáte nainštalovaný server Windows Symbol (momentálne nemôžete stiahnuť samostatný inštalátor pre symboly Windows, pretože sa automaticky sťahujú zo skladu symbolov v Azure). V izolovaných prostrediach môžete používať offline verziu servera symbolov podľa článku Offline Symbols for Windows Update.

Otvorte protokolový súbor pomocou tohto príkazu PowerShell:

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

rada. Upozorňujeme, že vytvorený súbor WindowsUpdate.log je statický a neaktualizuje sa v reálnom čase, rovnako ako v predchádzajúcich verziách systému Windows. Ak chcete aktualizovať údaje denníka aktualizácií, musíte znova spustiť rutinu Get-WindowsUpdateLog alebo vytvoriť skript, ktorý automaticky aktualizuje súbor na určitej frekvencii (súbor sa prepíše).

Je pomerne ťažké analyzovať výsledný súbor WindowsUpdate.log, ako zhromažďuje údaje z mnohých zdrojov:

  • AGENT - Windows Update Agent Events;
  • AU - automatická aktualizácia;
  • AUCLNT - interakcia používateľa;
  • HANDLER - správa aktualizácií inštalátora;
  • MISC - všeobecné informácie;
  • PT - synchronizácia aktualizácií s miestnym úložiskom;
  • SPRÁVA - zber správ;
  • SERVIS - spustenie / zastavenie služby wuauserv;
  • SETUP - inštalácia nových verzií klienta Windows Update;
  • DownloadManager - sťahujte aktualizácie do miestnej vyrovnávacej pamäte;
  • Handler, Setup - hlavičky inštalátora (CBS, atď.);
  • etc.

Posledných 30 udalostí môžete vybrať z agenta Windows Update Agent pomocou jednoduchého regulárneho výrazu:

Vyberte reťazec - Patter '\ sagent \ s' - Cesta C: \ PS \ Logs \ WindowsUpdate.log | Vyberte objekt - posledných 30

V denníku môžete filtrovať udalosti z niekoľkých zdrojov:

Vyberte reťazec -Pattern '\ sagent \ s | \ smisc \ s' -Path c: \ PS \ Logs \ WindowsUpdate.log | Vyberte objekt - posledných 50

Podobne môžete vyhľadávať udalosti podľa čísla KB, chyby (FAILED, Exit Code, FATAL lines).

Môžete tiež vygenerovať súbor WindowsUpdate.log pre vzdialený počítač / server:

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

Protokoly Event Viewer v tejto časti môžu byť užitočné aj na analýzu prevádzky služby Windows Update. Protokoly aplikácií a služieb -> Microsoft -> Windows -> WindowsUpdateClient -> Prevádzkové.

Na správu aktualizácií z prostredia PowerShell môžete použiť modul PSWindowsUpdate.