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.

NAKIVO cho sao lưu Windows

NAKIVO cho sao lưu Windows

Sao lưu nhanh các máy chủ và máy trạm Windows vào các vị trí tại chỗ, ngoài văn phòng và trên đám mây. Phục hồi toàn bộ hệ thống và các đối tượng chỉ trong vài phút, giúp giảm thiểu thời gian khôi phục (RTO) và tối đa hóa thời gian hoạt động.

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.
Installing PSWindowsUpdate (automate Windows updates)

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: `

Get Windows Update (automate Windows updates)

`. 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.

Downloading updates (automate Windows updates)

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) 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.
List of PSWindowsUpdate commands (automate Windows updates)
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.

Viewing history of installed updates (automate Windows updates)

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:

Viewing the installer status (automate Windows updates)

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.

Viewing the reboot status (automate Windows updates)

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. Viewing the source of Windows updates (automate Windows updates)

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.
Hiding Windows Updates (automate Windows updates)

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.

Get-WindowsUpdate –IsHidden
Hidden Windows Updates (automate Windows updates)

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.
Changing the status of Windows update (automate Windows updates)

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.

Dùng thử NAKIVO Backup & Replication

Dùng thử NAKIVO Backup & Replication

Đăng ký dùng thử miễn phí để khám phá toàn bộ các tính năng bảo vệ dữ liệu của giải pháp này. 15 ngày miễn phí. Không có bất kỳ giới hạn nào về tính năng hay dung lượng. Không cần thẻ tín dụng.

Có thể bạn cũng quan tâm