In Windows 10 verwendet der Windows Update-Client die Ereignisverfolgung, anstatt in eine Textdatei zu schreiben, wie dies in früheren Windows-Versionen der Fall war. Dies kann die Behebung von Problemen mit Clientcomputern erschweren.
Das Cmdlet Get-WindowsUpdateLog funktioniert nicht immer. Insbesondere scheint es nicht richtig zu funktionieren, wenn es remote ausgeführt wird oder wenn der Zielcomputer keinen direkten Internetzugang hat. Ich habe auch Berichte über andere Probleme gesehen, deren Ursache weniger klar ist.
Gibt es eine zuverlässigere und flexiblere Option?
Antwort1
Ab1709offline zu sein (sprich: kein Zugriff auf die Symbolserver) sollte kein Problem mehr darstellen. Sie können einfachGet-WindowsUpdateLog
-LogPath .\WindowsUpdate.log
von Powershell.
Oder alternativ, wenn Ihnen das nicht gefällt:
FOR %i IN (C:\Windows\Logs\WindowsUpdate\*.etl) DO tracerpt %i -of csv -o %~ni.csv
copy *.csv WindowsUpdate.csv
(tracerpt scheint irgendwie darauf beschränkt zu sein, einzelne Protokolldateien mit mehr als ~4000 Einträgen zu erstellen)
Antwort2
Für Windows Server 2016 oder Windows 2016 LTSB:dieser Microsoft-Artikelbeschreibt, wie der Befehl auf einem Computer verwendet wird Get-WindowsUpdateLog
, der keinen Zugriff auf den Microsoft-Symbolserver hat.
C:\Windows\Logs\WindowsUpdate
Die einfachste Möglichkeit besteht darin, die ETL-Dateien vom Offline-Computer auf Ihren (Online-)Administratorcomputer zu kopieren und dann die -ETLPath
Option zu verwenden, um Get-WindowsUpdateLog
auf die kopierten Dateien zu verweisen.
Antwort3
Diese Antwort funktioniert nicht mehr. Wiederhergestellt amMirhs Anfrageund weil es als Referenzpunkt für zukünftige Forschung dienen kann. Verwenden SieMirhs Antwortodermeine neue Antwortstattdessen.
Die unten beschriebene Verwendung tracefmt
basierte auf Blogbeiträgen von Microsoft und funktionierte, als ich sie Anfang 2018 veröffentlichte, funktionierte aber irgendwann später im selben Jahr nicht mehr. Es scheint nicht mehr zu funktionieren, auch nicht für Windows 1709 oder höher.
Sie können die Ereignisablaufverfolgungsprotokolle mithilfe tracefmt
des Windows 10 SDK in Nur-Text konvertieren.
Kopieren Sie zunächst die Dateien vom C:\Windows\Logs\WindowsUpdate
Zielcomputer an einen geeigneten Speicherort auf Ihrem Administratorcomputer.
Öffnen Sie ein Befehlszeilenfenster, wechseln Sie in das Verzeichnis, das die Kopie der Ablaufverfolgungsdateien enthält, und führen Sie den folgenden Befehl aus:
for %i in (*.etl) do "c:\Program Files (x86)\Windows Kits\10\bin\x64\tracefmt.exe" -o %~ni.txt -r srv*c:\symbols*https://msdl.microsoft.com/download/symbols %i
Auf dem Administratorcomputer muss das Windows 10 SDK installiert sein und er benötigt direkten Internetzugang. Windows 10 selbst muss nicht darauf laufen.
Anschließend möchten Sie die Protokolle möglicherweise in einer einzigen Datei zusammenfassen:
copy *.txt WindowsUpdate.log