Quản lý lịch sử cập nhật Windows là công việc thường ngày của quản trị viên hệ thống. Sử dụng PowerShell giúp bạn truy vấn, xuất dữ liệu và xử lý update history nhanh chóng hơn hẳn so với giao diện đồ họa. Bài viết này hướng dẫn chi tiết cách quản lý update history bằng PowerShell, từ các lệnh cơ bản đến kỹ thuật nâng cao, giúp bạn kiểm soát hoàn toàn các bản vá trên hệ thống Windows.
Update history là gì và tại sao cần quản lý bằng PowerShell?

Update history ghi lại toàn bộ quá trình cài đặt các bản cập nhật Windows, bao gồm tên bản vá, ngày giờ cài đặt, trạng thái thành công hay thất bại. Việc quản lý update history bằng PowerShell cho phép tự động hóa các tác vụ, trích xuất báo cáo chi tiết và xử lý lỗi cập nhật mà không cần thao tác thủ công trên từng máy.
Ưu điểm của PowerShell so với GUI trong quản lý update history
- Truy vấn nhanh trên nhiều máy tính cùng lúc qua remoting
- Tạo báo cáo tự động export ra file CSV, HTML hoặc XML
- Lọc dữ liệu linh hoạt theo thời gian, trạng thái, mã lỗi
- Tích hợp vào script bảo trì hệ thống hàng tuần hoặc hàng tháng
Các phương pháp quản lý update history bằng PowerShell

Có hai cách tiếp cận chính để truy vấn lịch sử cập nhật Windows: sử dụng module PSWindowsUpdate từ PowerShell Gallery hoặc dùng COM object Microsoft.Update.Session có sẵn trong hệ thống. Mỗi phương pháp có ưu nhược điểm riêng, phù hợp với từng môi trường khác nhau.
Phương pháp 1: Dùng module PSWindowsUpdate
Module PSWindowsUpdate là công cụ phổ biến nhất, cung cấp lệnh Get-WUHistory chuyên dụng. Để sử dụng, bạn cần cài đặt module với quyền Administrator.
Install-Module -Name PSWindowsUpdate -Force Import-Module PSWindowsUpdate Get-WUHistory
Lệnh Get-WUHistory trả về danh sách các bản cập nhật với các thuộc tính: Title, Date, Result, KB, UpdateId.
Sử dụng PSWindowsUpdate với tham số -ComputerName hoặc dùng Invoke-Command như ví dụ ở trên. Cần đảm bảo WinRM đã được bật và bạn có quyền truy cập từ xa.
Update history có thể bị xóa vĩnh viễn không?
Có, bằng cách xóa thư mục SoftwareDistribution. Tuy nhiên, Windows sẽ tự động tạo lại history mới khi chạy kiểm tra cập nhật lần tiếp theo. Dữ liệu cũ mất đi không thể khôi phục.
Tại sao Get-WUHistory không trả về bản cập nhật nào?
Nguyên nhân có thể do chưa cài đặt module đúng cách, không có bản cập nhật nào trong lịch sử (máy mới), hoặc Windows Update Agent bị hỏng. Hãy thử chạy wuauclt /detectnow và kiểm tra lại.
Làm cách nào để lấy thông tin chi tiết hơn từ update history?
Sử dụng COM object kết hợp với Get-ItemProperty để truy xuất thêm thông tin từ registry. Bạn cũng có thể đọc log C:WindowsWindowsUpdate.log để phân tích sâu.
Script quản lý update history có chạy được trên Windows 10 và 11 không?
Có, cả PSWindowsUpdate và COM object đều hoạt động tốt trên Windows 10/11, Windows Server 2016 trở lên. Một số lệnh cũ tương thích với Windows 7/Server 2008 R2 nhưng cần kiểm tra phiên bản PowerShell.
Kết luận

Quản lý update history bằng PowerShell là kỹ năng thiết yếu đối với quản trị viên hệ thống Windows. Bằng cách sử dụng PSWindowsUpdate hoặc COM object, bạn có thể kiểm soát lịch sử cập nhật một cách tự động, nhanh chóng và chi tiết. Từ việc lọc theo thời gian, xuất báo cáo đến xóa history khi cần, PowerShell mang đến sự linh hoạt vượt trội so với giao diện đồ họa. Hãy áp dụng các kỹ thuật trong bài viết này để tối ưu hóa quy trình quản lý bản vá và đảm bảo hệ thống luôn an toàn, ổn định.







