Giới thiệu tổng quan về cách gỡ update bằng PowerShell

Việc cập nhật Windows thường xuyên giúp hệ thống vận hành ổn định và bảo mật hơn. Tuy nhiên, không phải bản update nào cũng hoàn hảo. Nhiều người dùng gặp lỗi màn hình xanh, xung đột driver, hoặc hiệu năng giảm sau khi cài bản vá mới. Lúc này, cách gỡ update bằng PowerShell trở thành giải pháp hiệu quả để khôi phục trạng thái trước đó mà không cần can thiệp thủ công qua giao diện đồ hoạ. PowerShell cung cấp các lệnh mạnh mẽ cho phép bạn liệt kê, xác định và loại bỏ một hoặc nhiều bản cập nhật chỉ với vài dòng lệnh. Không giống như công cụ “View installed updates” trong Settings, PowerShell cho phép tự động hoá quá trình gỡ bỏ trên nhiều máy tính cùng lúc hoặc thao tác nhanh khi Windows gặp lỗi nghiêm trọng.
Bản chất của lệnh gỡ update trong PowerShell

PowerShell sử dụng các module và cmdlet có sẵn như Get-HotFix, wusa (Windows Update Standalone Installer) và Remove-WindowsPackage (dành cho Windows 10/11). Bản chất của việc gỡ update là xoá các gói cài đặt đã được tích hợp vào hệ thống, đồng thời khôi phục các tệp gốc từ thư mục WinSxS. Mỗi bản cập nhật Windows đều có một mã định danh duy nhất gọi là KB number (ví dụ KB5006670). PowerShell sử dụng mã này để xác định và thực thi lệnh gỡ bỏ. Quy trình này yêu cầu quyền Administrator vì nó tác động trực tiếp đến hệ điều hành. Nếu thực hiện đúng, hệ thống sẽ quay về phiên bản trước khi cài update mà không ảnh hưởng đến dữ liệu cá nhân.
Phân loại các bản update và cách gỡ tương ứng

Không phải bản cập nhật nào cũng có thể gỡ bằng PowerShell. Windows phân loại update thành ba nhóm chính:
- Quality Updates (Cập nhật chất lượng): Bao gồm các bản vá bảo mật hàng tháng, sửa lỗi. Có thể gỡ bằng lệnh wusa hoặc Remove-WindowsPackage. Thường được cài qua Windows Update và có thể gỡ trong vòng 10-30 ngày sau khi cài.
- Feature Updates (Cập nhật tính năng): Là các bản nâng cấp phiên bản lớn (ví dụ từ Windows 10 22H2 lên Windows 11 23H2). Có thể gỡ bằng PowerShell nhưng yêu cầu thời gian và dung lượng ổ cứng lớn. Windows tự động xoá các tệp cài đặt cũ sau 10 ngày nên nếu quá thời hạn sẽ không thể gỡ.
- Driver Updates (Cập nhật trình điều khiển): Thường được cài qua Windows Update hoặc từ nhà sản xuất. PowerShell có thể gỡ driver update bằng lệnh pnputil hoặc thông qua DISM. Tuy nhiên, một số driver quan trọng có thể không cho phép gỡ bỏ.
Bảng so sánh các lệnh gỡ update trong PowerShell
| Lệnh / Công cụ | Phạm vi áp dụng | Yêu cầu | Ưu điểm | Hạn chế |
|---|---|---|---|---|
| wusa /uninstall /kb:xxxxxx | Windows 7, 8, 10, 11 | Quyền Admin, mã KB | Đơn giản, trực tiếp | Không hỗ trợ gỡ nhiều update cùng lúc |
| Get-HotFix | Where-Object… | Remove-HotFix | Windows 10, 11, Server | PowerShell 5.0 trở lên | Có thể lọc và gỡ hàng loạt | Chỉ gỡ được hotfix, không xử lý feature update |
| Remove-WindowsPackage | Windows 10, 11 (DISM) | Quyền Admin, đường dẫn package | Mạnh mẽ, xử lý nhiều loại update | Cần biết chính xác PackageName |
| DISM /Online /Remove-Package | Windows 8, 10, 11 | Quyền Admin, mã package | Tương thích rộng, ít lỗi | Cú pháp dài, phải tra cứu PackageName |
Hướng dẫn cụ thể cách gỡ update bằng PowerShell từng bước

Bước 1: Mở PowerShell với quyền Administrator
Nhấn tổ hợp phím Windows + X và chọn Windows PowerShell (Admin) hoặc Terminal (Admin) trên Windows 11. Khi xuất hiện cửa sổ UAC, nhấn Yes. Đây là yêu cầu bắt buộc vì lệnh gỡ update tác động đến hệ thống.
Bước 2: Liệt kê danh sách các bản update đã cài
Trước khi gỡ, cần biết chính xác mã KB hoặc PackageName. Sử dụng lệnh:
Get-HotFix | Format-Table HotFixID, InstalledOn, Description -AutoSize
Lệnh này hiển thị danh sách tất cả hotfix (quality update) đã cài, kèm ngày cài đặt và mô tả. Nếu cần tìm update tính năng, dùng lệnh DISM /Online /Get-Packages để xem danh sách gói đầy đủ. Lưu ý rằng một số bản update chỉ hiển thị khi sử dụng DISM.
Bước 3: Xác định mã KB của update cần gỡ
Ví dụ, sau khi chạy lệnh Get-HotFix, bạn thấy dòng KB5006670 được cài ngày 15/10/2024. Đây là bản update bạn muốn gỡ. Nếu cần kiểm tra thêm thông tin, dùng:
Get-HotFix -Id KB5006670 | Format-List *
Bước 4: Thực hiện gỡ update bằng lệnh wusa
Lệnh cơ bản nhất cho quality update:
wusa /uninstall /kb:5006670
Hệ thống sẽ hiển thị hộp thoại xác nhận. Nhấn Yes để bắt đầu quá trình gỡ. Quá trình này có thể mất vài phút, máy tính sẽ tự động khởi động lại. Nếu muốn tự động khởi động lại mà không cần xác nhận, thêm tham số /quiet và /norestart nếu bạn muốn kiểm soát thời điểm restart.
Bước 5: Gỡ multiple update bằng PowerShell script
Để gỡ nhiều update cùng lúc, tạo danh sách KB trong mảng và lặp qua từng mã:
$kbList = @("KB5006670", "KB5006671", "KB5006672")
foreach ($kb in $kbList) { wusa /uninstall /kb:$kb /quiet /norestart
}
Cách này giúp tiết kiệm thời gian nếu bạn cần gỡ hàng loạt sau khi cập nhật gây lỗi diện rộng. Tuy nhiên, cần kiểm tra kỹ để tránh gỡ nhầm các bản vá bảo mật quan trọng.
Lợi ích và hạn chế khi sử dụng PowerShell để gỡ update

Lợi ích
- Kiểm soát chi tiết:
Không nên gỡ tất cả cùng lúc vì điều này có thể phá vỡ hệ thống. Thay vào đó, hãy chọn lọc những update gây lỗi.
Dùng lệnh
Get-HotFix | Where-Object {$_.InstalledOn -gt (Get-Date).AddDays(-30)}để hiển thị các update trong 30 ngày qua. Các update càng cũ càng khó gỡ vì Windows có thể đã xoá tệp backup. Ngoài ra, dùng lệnhDISM /Online /Get-Packagesđể kiểm tra trạng thái “Installed”.Sau khi gỡ update bằng PowerShell, máy tính có mất dữ liệu không?
Không. Việc gỡ update chỉ tác động đến các tệp hệ thống và bản vá. Dữ liệu cá nhân như tài liệu, hình ảnh, nhạc vẫn an toàn. Tuy nhiên, cài đặt ứng dụng hoặc driver có thể bị ảnh hưởng nếu chúng phụ thuộc vào bản update đó.
Tôi gặp lỗi “The update is not applicable to your computer” khi gỡ?
Lỗi này thường xảy ra khi bạn nhập sai mã KB hoặc update không còn tồn tại trên hệ thống. Hãy kiểm tra lại danh sách bằng Get-HotFix. Cũng có thể update đã được tích hợp vào image Windows nên không thể gỡ riêng lẻ.
Có cách nào gỡ update mà không cần khởi động lại không?
Có thể dùng tham số
/norestarttrong lệnh wusa, hoặc thêm-NoRestarttrong lệnh Remove-HotFix. Tuy nhiên, các thay đổi chỉ có hiệu lực sau khi khởi động lại. Bạn nên lên lịch restart vào thời điểm phù hợp.Kết luận
Cách gỡ update bằng PowerShell là một kỹ năng quan trọng đối với người dùng Windows nâng cao và quản trị viên hệ thống. Khả năng kiểm soát chi tiết, tự động hoá và xử lý khi Windows gặp lỗi là những ưu điểm vượt trội so với các phương pháp truyền thống. Tuy nhiên, đi kèm với sức mạnh là trách nhiệm. Bạn cần hiểu rõ mã KB, PackageName và tác động của từng bản update trước khi gỡ. Luôn thực hiện theo các bước đã hướng dẫn, ưu tiên tạo điểm khôi phục và chỉ gỡ khi thực sự cần thiết. Bằng cách nắm vững các lệnh cơ bản như wusa, Get-HotFix và Remove-WindowsPackage, bạn có thể chủ động quản lý các bản cập nhật Windows một cách linh hoạt và an toàn.







