Historycznie plik tekstowy był wykorzystywany do analizy działania agenta i usługi Windows Update. WindowsUpdate.log. Jednak w systemie Windows 10 (Windows Server 2016/2019) zamiast zwykłego pliku tekstowego dzienniki usługi Windows Update mają format Śledzenie zdarzeń dla systemu Windows (ETW). Z tego powodu zwiększa się wydajność podsystemu rejestrowania i oszczędzane jest miejsce na dysku.
Dlatego zdarzenia Windows Update nie są już zapisywane w czasie rzeczywistym do pliku % windir% \ WindowsUpdate.log. I chociaż sam plik jest nadal obecny w katalogu głównym folderu Windows, stwierdza tylko, że format ETW jest teraz używany do zbierania dzienników.
Dzienniki Windows Update są teraz generowane przy użyciu ETW (Event Tracing for Windows). % MINIFYHTML94c94c461bdbf801ea1528dc9c5b1f4e5% Uruchom polecenie Get-WindowsUpdateLog PowerShell, aby przekonwertować ślady ETW na czytelny plik WindowsUpdate.log. Aby uzyskać więcej informacji, odwiedź http://go.microsoft.com/fwlink/?LinkId=518345
Główna niedogodność dla administratorów - teraz nie możesz szybko przeanalizować pliku tekstowego WindowsUpdate.log, znaleźć błędów w usłudze Windows Update Agent (zobacz pełną listę błędów Windows Update), sprawdzić ustawienia WSUS i przeanalizować historię instalacji aktualizacji.
Można konwertować zdarzenia ETW do znanego formatu tekstowego WindowsUpdate.log w celu wygodniejszej analizy zdarzeń usługi aktualizacji. Aby to zrobić, użyj polecenia cmdlet programu PowerShell - Get-WindowsUpdateLog. To polecenie cmdlet pozwala zbierać informacje od wszystkich .etl pliki (przechowywane w katalogu C: \ WINDOWS \ Logs \ WindowsUpdate) i tworzą pojedynczy plik WindowsUpdate.log.
Aby wygenerować plik WindowsUpdate.log i umieścić go w katalogu C: \ PS \ Logs, uruchom następującą komendę w konsoli PowerShell:
Get-WindowsUpdateLog -logpath C: \ PS \ Logs \ WindowsUpdate.log
Get-WindowsUpdateLog
Może pojawić się błąd brakującego pliku SymSrv.dll:Element kopiowania: nie można znaleźć ścieżki „C: \ Program Files \ Windows Defender \ SymSrv.dll”, ponieważ nie istnieje. W C: \ Windows \ system32 \ WindowsPowerShell \ v1.0 \ Modules \ WindowsUpdate \ WindowsUpdateLog.psm1: 56 char: 5
Zazwyczaj brakuje pliku „C: \ Program Files \ Windows Defender \ SymSrv.dll”, jeśli program antywirusowy Windows Defender nie jest zainstalowany na serwerze.
Aby naprawić błąd, możesz zainstalować Defender, skopiować plik SymSrv.dll z innego systemu Windows Server 2016 / Windows 10 lub wyszukać, aby znaleźć go w katalogu „C: \ Windows \ WinSxS \” (miałem katalog o nazwie C: \ Windows \ WinSxS \ amd64_windows -defender-service-cloudclean_ ...) i skopiuj go do folderu C: \ Program Files \ Windows Defender.
W starszych wersjach systemu Windows 10 przy pierwszym uruchomieniu polecenia cmdlet Get-WindowsUpdateLog należy pobrać i zainstalować Microsoft Symbol Server (Microsoft Internet Symbol Store). Najnowsze wersje systemu Windows 10 uzyskują dostęp online do Microsoft Character Server na platformie Azure. Następnie polecenie cmdlet:
- Zbiera dane ze wszystkich plików .etl;
- Konwertuje dane do formatu CSV (domyślnie) lub XML;
- Konwertuje dane z plików pośrednich i dodaje je do pliku tekstowego dziennika określonego w parametrze LogPath (jeśli parametr LogPath nie jest określony, plik WindowsUpdate.log jest tworzony na pulpicie użytkownika, który uruchomił polecenie).
Nieznany (10): GUID = 5e0ee4cc-3618-f43a-06ca-9d3b0dabc11a (Nie znaleziono informacji o formacie).
Oznacza to, że nie masz zainstalowanego serwera Windows Symbol (w tej chwili nie możesz pobrać osobnego instalatora dla symboli Windows, ponieważ są one automatycznie pobierane z magazynu symboli na platformie Azure). W środowiskach izolowanych można użyć wersji offline serwera symboli zgodnie z artykułem Symbole offline dla Windows Update.
Otwórz plik dziennika za pomocą tego polecenia PowerShell:
Invoke-Item -Path C: \ PS \ Logs \ WindowsUpdate.log
Analiza wynikowego pliku WindowsUpdate.log, as jest dość trudna zbiera dane z wielu źródeł:
- AGENT - zdarzenia agenta Windows Update;
- AU - automatyczna aktualizacja;
- AUCLNT - interakcja użytkownika;
- HANDLER - aktualizacja zarządzania instalatorem;
- MISC - informacje ogólne;
- PT- synchronizacja aktualizacji z pamięcią lokalną;
- RAPORT - zbiór raportów;
- SERWIS - uruchomienie / zatrzymanie usługi wuauserv;
- SETUP - instalacja nowych wersji klienta Windows Update;
- DownloadManager - pobierz aktualizacje lokalnej pamięci podręcznej;
- Handler, Setup - nagłówki instalatora (CBS itp.);
- Itd.
Możesz wybrać ostatnie 30 zdarzeń z Windows Update Agent (agent) za pomocą prostego wyrażenia regularnego:
Select-String -Pattern '\ sagent \ s' -Path C: \ PS \ Logs \ WindowsUpdate.log | Select-Object-Last 30
Możesz filtrować zdarzenia w dzienniku dla kilku źródeł:
Select-String -Pattern '\ sagent \ s | \ smisc \ s' -Path c: \ PS \ Logs \ WindowsUpdate.log | Select-Object-Last 50
Podobnie można wyszukiwać zdarzenia według numeru KB, błędu (FAILED, kod zakończenia, wiersze FATAL).
Możesz również wygenerować plik WindowsUpdate.log dla zdalnego komputera / serwera:
Get-WindowsUpdateLog -ETLPath \\ PC221 \ C $ \ windows \ Logs \ WindowsUpdate -LogPath C: \ PS \ Logs \ windowsupdatePC221.log
Ponadto dzienniki Podglądu zdarzeń w tej sekcji mogą być przydatne do analizy działania usługi Windows Update. Dzienniki aplikacji i usług -> Microsoft -> Windows -> WindowsUpdateClient -> Operacyjny.
Możesz użyć modułu PSWindowsUpdate do zarządzania aktualizacjami z PowerShell.