從 Windows 更新日誌中獲取有意義的資訊
我正在
history.log
從 debian 主機解析以生成帶有日期/包/版本的 csv。在測試環境中執行一套測試後,我會在實際主機上更新這些包。我想為 Windows Server 做同樣的事情。
我已經使用
Get-WindowsUpdateLog
PowerShell 命令生成了一個 .log 文件,但顯然,除了時間戳之外,我無法從中獲取任何有用的資訊。據我了解,為了能夠在日誌中看到實際對應於安裝會話的行(在該日期安裝的軟體包 X、Y 和 Z),我需要啟用詳細的 Windows 更新日誌,但我該怎麼做呢?我還需要知道更新的實際名稱,而不是 ID。AFAIK,我可以手動將更新 ID 複製到Microsoft Update Catalog中,但我想避免這種情況。啟用詳細日誌記錄也可以解決這個問題嗎?還是太容易了?
使用 PowerShell Gallery 中漂亮的
PSWindowsUpdate
Powershell 模組:連結在那裡你有一個
Get-WUHistory
確實想要你正在尋找的命令。
根據快速搜尋“Windows 更新日誌”(在此查詢之前我沒有遇到過這個),看起來 Windows 更新客戶端現在使用 Windows 事件跟踪 (ETW) 來生成診斷日誌。這些雖然保存在二進製文件格式 ETL 中。
但是,您的 Windows 作業系統有多少年了?
您可以查看 ETL 文件,也可以使用 NXLog 等日誌收集器(我參與了該項目)來收集 ETW 數據並將它們作為 JSON 消息寫出。通常,您需要找出 ETW 提供者的名稱才能開始記錄它們。例如,Microsoft-Windows-WindowsUpdateClient 是 Windows Server 2016 的 ETW 提供程序的名稱。