Cách tự động hóa các bản 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 khắc phục tạm thời cho các vấn đề hiện có trong khoảng thời gian giữa các bản phát hành 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ể kịp thời xử lý 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 (cmdlets), 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 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 áp dụng bản vá có thể giảm thiểu rủi ro do lỗi phần mềm hoặc lỗ hổng bảo mật gây ra cho 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 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 trở lên. 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 có cho máy tính của mình 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 khác nhau. 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 việc 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, hệ thống sẽ hỏi bạn 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 rằng có thể truy cập từ xa vào các máy tính khác. Nhờ đó, bạn sẽ 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 tối đa 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. Để thực hiện đ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 đối với 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 đồ 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 cũng như í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ư dưới đây: `
`. 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 ngay 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 tự động khởi động lại (để không làm gián đoạn quy trình làm việc sản xuất), bạn có thể chạy lệnh sau:
Get-WUInstall -AcceptAll –IgnoreReboot
Trên màn hình, bạn có thể theo dõi tiến 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: ‘Cần khởi động lại nhưng hãy thực hiện thủ công’. Do đó, bạn vẫn cần 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á phù hợp. 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ẽ như sau:
Get-WUInstall -KBArticleID KB890830, KB2267602 –AcceptAll
Sau khi chạy lệnh này, máy tính của tôi sẽ chỉ cài đặt hai bản cập nhật nêu trên.
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 cùng tìm hiểu cách hoạt động của một số lệnh này.
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ể xác định xem trình cài đặt có hoạt động bình thường hay không. Kết quả hiển thị cho thao tác này có thể 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 để một 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 `, trong đó 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 lệnh 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 cmdlet dưới đây.
Trong cột Trạng thái, bạn sẽ 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ỡ cài đặt 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 tự động khởi động lại. Sau khi bản cập nhật được gỡ cài đặt, 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á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 nhằm giúp 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 để khắc phục các sự cố hoặc lỗ hổng bảo mật được phát hiện trong chương trình. Tuy nhiên, việc quản lý bản vá định kỳ 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 khả năng 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 trên nhiều nền tảng, đảm bảo khả năng khôi phục trong mọi tình huống và giảm chi phí bảo vệ dữ liệu.



