Logging

從 Windows 更新日誌中獲取有意義的資訊

  • April 12, 2019

我正在history.log從 debian 主機解析以生成帶有日期/包/版本的 csv。在測試環境中執行一套測試後,我會在實際主機上更新這些包。

我想為 Windows Server 做同樣的事情。

我已經使用Get-WindowsUpdateLogPowerShell 命令生成了一個 .log 文件,但顯然,除了時間戳之外,我無法從中獲取任何有用的資訊。據我了解,為了能夠在日誌中看到實際對應於安裝會話的行(在該日期安裝的軟體包 X、Y 和 Z),我需要啟用詳細的 Windows 更新日誌,但我該怎麼做呢?我還需要知道更新的實際名稱,而不是 ID。AFAIK,我可以手動將更新 ID 複製到Microsoft Update Catalog中,但我想避免這種情況。啟用詳細日誌記錄也可以解決這個問題嗎?還是太容易了?

使用 PowerShell Gallery 中漂亮的PSWindowsUpdatePowershell 模組:連結

在那裡你有一個Get-WUHistory確實想要你正在尋找的命令。

根據快速搜尋“Windows 更新日誌”(在此查詢之前我沒有遇到過這個),看起來 Windows 更新客戶端現在使用 Windows 事件跟踪 (ETW) 來生成診斷日誌。這些雖然保存在二進製文件格式 ETL 中。

但是,您的 Windows 作業系統有多少年了?

您可以查看 ETL 文件,也可以使用 NXLog 等日誌收集器(我參與了該項目)來收集 ETW 數據並將它們作為 JSON 消息寫出。通常,您需要找出 ETW 提供者的名稱才能開始記錄它們。例如,Microsoft-Windows-WindowsUpdateClient 是 Windows Server 2016 的 ETW 提供程序的名稱。

引用自:https://serverfault.com/questions/962728