Cách tự động hóa cập nhật Windows bằng PowerShell: Tổng quan ngắn gọn
Quản lý bản vá là một khía cạnh quan trọng trong việc quản trị hạ tầng CNTT, giống như Sao lưu máy trạm Windows. Với giải pháp quản lý bản vá phù hợp, bạn có thể nâng cao hiệu suất hệ thống bằng cách kiểm tra hoặc cài đặt các bản cập nhật phần mềm và bản vá mới nhất. Các bản vá được coi là giải pháp tạm thời cho các vấn đề hiện có giữa các phiên bản phần mềm chính thức. Nếu việc quản lý bản vá được thực hiện hiệu quả, bạn có thể khắc phục kịp thời các lỗ hổng bảo mật của hệ thống và giảm thiểu mọi mối đe dọa tiềm ẩn.
Windows cung cấp giải pháp quản lý bản vá riêng của mình – Windows Update. Tuy nhiên, nhiều quản trị viên CNTT vẫn cho rằng quy trình quản lý bản vá quá phức tạp và tốn thời gian. Hơn nữa, các bản cập nhật hệ thống có thể ảnh hưởng đến quy trình làm việc sản xuất vì chúng thường tự động bắt đầu trong giờ làm việc. Với các lệnh PowerShell, bạn có thể tự động hóa các bản cập nhật Windows, giúp tiết kiệm công sức và thời gian.
Bài viết blog này mô tả cách bạn có thể sử dụng PowerShell để cài đặt các bản cập nhật Windows và bao gồm danh sách các lệnh Các lệnh PowerShell hữu ích để tự động hóa quy trình quản lý bản vá. Việc vá lỗi có thể giảm thiểu rủi ro của các lỗi hoặc lỗ hổng ảnh hưởng đến hệ thống của bạn.
PSWindowsUpdate là gì?
Để quá trình quản lý bản vá Windows diễn ra suôn sẻ và dễ dàng, bạn có thể sử dụng mô-đun PSWindowsUpdate do Michal Gajda phát triển. Mô-đun này được phát hành công khai và có thể tải xuống miễn phí từ trang web Thư viện PowerShell. Yêu cầu chính là máy tính phải chạy các phiên bản hệ điều hành Windows từ Vista trở lên hoặc Windows Server 2008. Ngoài ra, bạn cần có PowerShell 2.0 trở lên.
Với PSWindowsUpdate, bạn có thể xác định xem có bản cập nhật Windows nào sẵn sàng cho máy tính của bạn hay không. Hơn nữa, mô-đun này cho phép bạn quản lý tập trung các bản cập nhật Windows trên nhiều máy chủ và máy trạm Windows. Nhờ đó, bạn có thể điều khiển từ xa việc cài đặt, gỡ bỏ hoặc ẩn các bản cập nhật.
Cách tự động hóa các bản cập nhật Windows bằng PowerShell
Dưới đây, chúng tôi sẽ trình bày quy trình cấu hình PSWindowsUpdate, bao gồm cách tải xuống và cài đặt mô-đun, cũng như cách kiểm tra các lệnh có thể giúp bạn tự động hóa các bản cập nhật Windows.
Cách cài đặt PSWindowsUpdate
Để tự động hóa hiệu quả việc quản lý bản vá Windows, trước tiên bạn cần cài đặt mô-đun PSWindowsUpdate trên máy tính của mình. Để thực hiện điều này, hãy mở cửa sổ PowerShell với quyền quản trị và nhập lệnh sau:
Install-Module -Name PSWindowsUpdate
Sau khi chạy lệnh này, bạn sẽ được hỏi liệu có muốn cài đặt mô-đun đã chỉ định từ PSGallery hay không. Chọn Yes nếu bạn muốn tiếp tục và chấp nhận tất cả các thay đổi.

Sau khi cài đặt mô-đun, bạn cần đảm bảo có thể truy cập từ xa vào các máy tính khác. Nhờ đó, bạn có thể cài đặt các bản cập nhật Windows trên các máy tính từ xa, giúp tiết kiệm thời gian và công sức. Để mô-đun PSWindowsUpdate hoạt động với các máy tính từ xa, bạn cần lưu mô-đun vào máy tính của mình và chia sẻ nó qua mạng.
Trong trường hợp các máy chủ khác có thể nhập và triển khai mô-đun này, bạn có thể thiết lập quản lý bản vá Windows tự động. Để làm điều này, bạn nên chạy lệnh cmdlet sau:
Save-Module -Name PSWindowsUpdate -Path
Tại đây, bạn cần định nghĩa tham số –Path bằng cách chỉ định vị trí lưu trữ mô-đun PSWindowsUpdate.
Cách sử dụng PSWindowsUpdate
Trong bước tiếp theo, bạn sẽ tìm hiểu cách sử dụng mô-đun này để tự động hóa các bản cập nhật Windows bằng các lệnh cmdlet của PowerShell. Đây là một lợi thế lớn cho các quản trị viên CNTT cần thực hiện quy trình quản lý bản vá trên các máy Server Core không có giao diện người dùng đồ họa (GUI). Với việc sử dụng các lệnh cmdlet này, bạn có thể giảm thiểu độ phức tạp trong quản lý và làm cho quy trình trở nên dễ dàng hơn và ít xảy ra lỗi hơn. Để xem danh sách đầy đủ các bản cập nhật Windows có sẵn, hãy chạy lệnh PowerShell sau: `
Get-WindowsUpdate
` Bạn sẽ thấy kết quả hiển thị trên màn hình như sau: `
` Với thông tin này, bạn sẽ biết chính xác phần mềm hoặc ứng dụng nào cần được cập nhật. Sau đó, bạn có thể cài đặt tất cả các bản cập nhật bằng cách nhập lệnh dưới đây. Hơn nữa, bằng cách thêm tham số ` –AutoReboot `, bạn có thể đảm bảo hệ thống sẽ tự động khởi động lại sau khi cài đặt xong bản cập nhật. `
Get-WUInstall -AcceptAll –AutoReboot
` Nếu bạn không muốn hệ thống khởi động lại (để không làm gián đoạn quy trình làm việc), bạn có thể chạy lệnh sau:
Get-WUInstall -AcceptAll –IgnoreReboot
Trên màn hình, bạn có thể xem tiến trình của quá trình quản lý bản vá, cũng như danh sách đầy đủ các bản cập nhật và trạng thái hiện tại của chúng.
Sau khi quá trình cài đặt hoàn tất, bạn sẽ thấy thông báo sau trong cửa sổ PowerShell: ‘Khởi động lại là bắt buộc nhưng hãy thực hiện thủ công’. Do đó, bạn vẫn phải khởi động lại hệ thống, nhưng có thể thực hiện vào thời điểm phù hợp nhất với lịch trình của mình.
Nếu bạn muốn tải xuống chỉ một bản cập nhật cụ thể, bạn có thể thêm tham số –KBArticleID vào lệnh PowerShell. Đừng quên chỉ định số bài viết KB để tải xuống bản vá đúng. Ví dụ, tôi muốn cài đặt Công cụ Loại bỏ Phần mềm Độc hại của Windows (x64) và Bản cập nhật Thông tin Bảo mật cho Windows Defender Antivirus . Lệnh PowerShell tương ứng sẽ trông như sau:
Get-WUInstall -KBArticleID KB890830, KB2267602 –AcceptAll
Sau khi chạy lệnh này, tôi sẽ chỉ có hai bản cập nhật nói trên được cài đặt trên máy tính của mình.
Tổng quan về các lệnh PSWindowsUpdate
Nếu bạn đang thắc mắc cmdlet PowerShell nào có thể hoạt động với mô-đun PSWindowsUpdate, bạn nên nhập lệnh sau và nhấn Enter:
Get-Command –module PSWindowsUpdate
Tại đây, bạn có thể xem danh sách đầy đủ các lệnh của mô-đun.

Hãy tìm hiểu cách một số lệnh này hoạt động.
1. Cmdlet Get-WUHistorycho phép bạn xem lịch sử các bản cập nhật mới nhất. Sau khi chạy lệnh này, bạn sẽ nhận được kết quả tương tự trên màn hình.
2. Cmdlet tiếp theo là Get-WUInstallerStatus, giúp bạn kiểm tra trạng thái của dịch vụ Windows Installer. Tại đây, bạn có thể kiểm tra xem trình cài đặt có hoạt động bình thường hay không. Kết quả của thao tác này có thể trông như sau:
3. Bằng cách chạy cmdlet Get-WURebootStatus , bạn có thể kiểm tra xem có cần khởi động lại hệ thống để bản cập nhật cụ thể được áp dụng hoàn toàn hay không.
4. Với cmdlet Get-WUServiceManager , bạn có thể kiểm tra nguồn gốc của các bản cập nhật Windows. 
Như bạn có thể thấy, cột cuối cùng hiển thị nguồn cập nhật (ví dụ: Windows Update, DCat Flighting Prod, v.v.).
5. Bạn có thể ẩn một số bản cập nhật khỏi danh sách để tránh cài đặt chúng trên máy tính của mình. Để thực hiện việc này, bạn nên chạy lệnh Hide-WindowsUpdate nơi bạn có thể chỉ định ID của các bài viết KB mà bạn muốn ẩn. Ví dụ sau đây minh họa cách ẩn bản cập nhật KB2267602 khỏi danh sách:
$HideList = "KB2267602"
Hide-WindowsUpdate -KBArticleID $HideList –Hide
Trước khi thực hiện bất kỳ thay đổi nào, bạn sẽ được yêu cầu xác nhận lựa chọn. Nhập Y để ẩn bài viết KB.

Tuy nhiên, nếu bạn muốn xem danh sách các bản cập nhật đã ẩn, bạn có thể chạy lệnh cmdlet dưới đây.
Trong cột Trạng thái, bạn có thể thấy ký tự H cho biết bản cập nhật đã được ẩn thành công. Do đó, lần tiếp theo khi bạn chạy lệnh Get-WUInstall , bản cập nhật đã chọn sẽ tự động bị loại trừ khỏi danh sách các bản cập nhật có sẵn.
Nếu bạn muốn hoàn tác các thay đổi, bạn có thể sử dụng cmdlet sau trong giao diện PowerShell:
Hide-WindowsUpdate -KBArticleID $HideList -Hide:$false
Một lần nữa, bạn sẽ được yêu cầu xác nhận các thay đổi bằng cách nhập Y.

Như bạn có thể thấy, ký tự H không còn xuất hiện trong trạng thái cập nhật, có nghĩa là bản cập nhật Windows này không còn bị ẩn nữa và có thể được tải xuống trên máy tính của bạn.
6. Một tùy chọn cấu hình khác mà bạn có thể sử dụng là gỡ bỏ các bản cập nhật đã cài đặt trên máy tính của bạn. Để thực hiện điều này, bạn có thể sử dụng lệnh Remove-WindowsUpdate và nhập ID của bài viết KB mà bạn muốn gỡ bỏ khỏi máy tính. Ví dụ:
Remove-WindowsUpdate -KBArticleID KB4519573 –IgnoreReboot
Bằng cách thêm tham số –IgnoreReboot , bạn đảm bảo rằng máy tính sẽ không khởi động lại tự động. Sau khi bản cập nhật được gỡ bỏ, bạn có thể khởi động lại máy tính sau đó.
7. Cuối cùng nhưng không kém phần quan trọng, bạn có thể quét các bản cập nhật Windows có sẵn trên một máy tính từ xa bằng lệnh Get-WUList .
Get-WUList –ComputerName Server5
Để lệnh này hoạt động, bạn cũng cần cài đặt mô-đun PSWindowsUpdate trên máy tính từ xa. Nhờ đó, bạn có thể tự động hóa việc cập nhật Windows cho nhiều máy tính từ một giao diện duy nhất. Với PSWindowsUpdate, quy trình quản lý bản vá được thực hiện một cách đơn giản và hiệu quả.
Hơn nữa, bạn có thể giảm bớt gánh nặng quản lý mà các quản trị viên CNTT có thể gặp phải trong quá trình vá hệ thống.
Kết luận
Mô-đun PSWindowsUpdate được phát triển để làm cho quy trình quản lý bản vá trở nên đơn giản và hiệu quả hơn. Bằng cách tự động hóa quá trình cài đặt các bản cập nhật, bạn có thể đảm bảo hệ thống của mình luôn được cập nhật thường xuyên, từ đó giảm thiểu rủi ro xảy ra sự cố hệ thống và các lỗ hổng bảo mật. Các bản vá chủ yếu được phát triển để giải quyết các vấn đề hoặc lỗ hổng được phát hiện trong một chương trình. Tuy nhiên, việc quản lý bản vá thường xuyên không thể đảm bảo bảo vệ toàn diện cho toàn bộ môi trường sản xuất.
Để đạt được điều này, bạn cần sử dụng một giải pháp bảo vệ dữ liệu toàn diện cung cấp sao lưu và khôi phục hệ thống cho các môi trường vật lý, ảo và đám mây. Với NAKIVO Backup & Replication, bạn có thể bảo vệ dữ liệu và ứng dụng quan trọng nhất của mình trên nhiều nền tảng, đảm bảo khôi phục trong mọi tình huống và giảm chi phí bảo vệ dữ liệu.



