Image default
Máy Tính

Tự Động Cập Nhật Windows 11 Bằng PowerShell: Hướng Dẫn Chi Tiết Từ A Đến Z

Windows Update là một phần không thể thiếu của hệ điều hành Windows 11, đóng vai trò then chốt trong việc duy trì bảo mật và hiệu suất cho máy tính của bạn. Tuy nhiên, không ít người dùng cảm thấy khó chịu khi các bản cập nhật và quá trình khởi động lại máy tính thường xảy ra vào những thời điểm không mong muốn, gây gián đoạn công việc và làm giảm năng suất. Việc phải đối mặt với thông báo cập nhật bất ngờ hoặc máy tính tự động khởi động lại giữa chừng có thể là một trải nghiệm khá bực bội.

May mắn thay, có một giải pháp hiệu quả để bạn kiểm soát hoàn toàn quá trình cập nhật này, đó chính là sử dụng PowerShell. PowerShell cung cấp các công cụ mạnh mẽ giúp bạn tự động hóa Windows Update, biến một quy trình tiềm ẩn phiền toái thành một trải nghiệm mượt mà và theo lịch trình định trước. Nếu bạn muốn máy tính của mình luôn được cập nhật an toàn mà không bị gián đoạn, bài viết này sẽ hướng dẫn chi tiết cách thực hiện điều đó. Tất cả các bước liên quan đến PowerShell cần được chạy với quyền quản trị viên (Administrator) để đảm bảo hoạt động chính xác.

Chuẩn Bị: Cài Đặt Module PSWindowsUpdate

Để tự động hóa các bản cập nhật Windows, điều bạn thực sự cần là phiên bản Windows PowerShell mới nhất, vốn đã được tích hợp sẵn trong các phiên bản Windows hiện đại, cùng với một tài khoản người dùng có quyền quản trị. Với những yêu cầu cơ bản này, bạn sẽ tiến hành cài đặt module PSWindowsUpdate – một công cụ thiết yếu cho phép bạn quản lý các bản cập nhật dễ dàng hơn. Module này cung cấp nhiều lệnh hữu ích để kiểm soát Windows Update, nhưng trong khuôn khổ bài viết này, chúng ta sẽ tập trung vào việc tự động hóa một cách đơn giản và hiệu quả.

Các Yêu Cầu Cần Thiết

  • Windows PowerShell: Đảm bảo bạn đang sử dụng phiên bản PowerShell mới nhất. Các phiên bản Windows 10 và Windows 11 đều đã tích hợp sẵn.
  • Tài khoản quản trị viên (Administrator): Mọi thao tác đều cần được thực hiện với quyền cao nhất để đảm bảo không gặp phải rào cản về quyền truy cập.

Hướng Dẫn Cài Đặt Module PSWindowsUpdate

Để cài đặt module này, bạn chỉ cần mở PowerShell với quyền quản trị viên và nhập lệnh sau:

Install-Module PSWindowsUpdate

Khi có lời nhắc xuất hiện để cài đặt nhà cung cấp NuGet (điều này có thể không xuất hiện nếu bạn đã có phiên bản mới nhất), nhấn Y để đồng ý. Sau đó, nhấn A để chấp nhận tất cả các thay đổi.

Tiếp theo, bạn sẽ phải nhập module này để các lệnh của nó có thể được sử dụng:

Import-Module PSWindowsUpdate

Nếu được nhắc, hãy nhấn A để luôn tin cậy module này. Đây là bước quan trọng để đảm bảo quá trình tự động hóa sẽ hoạt động sau này mà không cần can thiệp thủ công.

Xử Lý Lỗi Execution Policy (Nếu Cần)

Trong một số trường hợp, nếu bước nhập module không hoạt động, bạn có thể cần phải đặt chính sách thực thi (execution policy) trên PC của mình. Điều này thường xảy ra khi PowerShell ngăn chặn việc chạy các script không được ký để bảo vệ hệ thống. Để khắc phục, hãy chạy lệnh sau:

Set-ExecutionPolicy Unrestricted

Sau khi đặt chính sách này, hãy thử chạy lại lệnh Import-Module và nó sẽ hoạt động. Tuy nhiên, hãy lưu ý rằng việc sử dụng chính sách “Unrestricted” có thể tiềm ẩn rủi ro bảo mật vì nó cho phép mọi script chạy mà không cần kiểm tra. Do đó, sau khi hoàn tất các bước và kiểm tra script, bạn có thể cân nhắc đặt lại chính sách này về một chế độ an toàn hơn (ví dụ: RemoteSigned) nếu bạn không thường xuyên chạy các script không tin cậy.

Tự Động Hóa Windows Update Với PowerShell Script

Sau khi bạn đã cài đặt module PSWindowsUpdate, lựa chọn tốt nhất là tạo một script PowerShell kiểm tra và cài đặt các bản cập nhật khi chúng có sẵn. May mắn thay, các script tương tự đã được phát triển từ trước, giúp bạn có hai lựa chọn tiện lợi. Bạn có thể tải script PowerShell đã được tạo sẵn từ đây, hoặc làm theo các bước dưới đây để tự tạo script cho riêng mình.

Tạo Script PowerShell Cập Nhật Tự Động

  1. Đầu tiên, hãy tạo một thư mục có tên Scripts trong ổ đĩa gốc C: của bạn. Sau đó, bên trong thư mục Scripts này, tạo thêm một thư mục con tên là Logs. Việc này sẽ giúp bạn dễ dàng theo dõi các tệp nhật ký của script. Ngoài ra, bạn cũng có thể chỉnh sửa script trong Notepad để tạo nhật ký trong một thư mục khác đã tồn tại, nhưng lưu ý rằng script không thể tự động ghi vào một thư mục chưa được tạo.

  2. Mở ứng dụng Notepad trên máy tính của bạn.

  3. Sao chép khối văn bản mã script từ trang này và dán vào Notepad.

  4. Nhấp vào File > Save As (Tệp > Lưu dưới dạng).

    Hướng dẫn lưu file PowerShell script trong Notepad với tùy chọn "Save as" được đánh dấuHướng dẫn lưu file PowerShell script trong Notepad với tùy chọn "Save as" được đánh dấu

  5. Điều hướng đến thư mục bạn muốn lưu tệp (ví dụ: C:UsersTen_Tai_KhoanDocuments).

  6. Trong menu thả xuống Save as type (Lưu dưới dạng), chọn All files (Tất cả tệp).

  7. Chọn một tên bất kỳ cho tệp của bạn và thêm đuôi .ps1 vào cuối. Ví dụ: RunWindowsUpdate.ps1.

    Hộp thoại "Save As" hiển thị loại tệp là "All files" và tên tệp kết thúc bằng .ps1Hộp thoại "Save As" hiển thị loại tệp là "All files" và tên tệp kết thúc bằng .ps1

  8. Nhấp vào Save (Lưu).

Script này về cơ bản sẽ kiểm tra tất cả các bản cập nhật Windows có sẵn. Nếu tìm thấy bất kỳ bản cập nhật nào, nó sẽ tự động cài đặt chúng và khởi động lại PC nếu cần thiết. Điều này có nghĩa là bạn nên chạy script vào thời điểm bạn không cần sử dụng máy tính và không ngại việc nó khởi động lại. Script cũng tự động ghi mọi kết quả đầu ra vào một tệp nhật ký với thời gian và ngày hiện tại, giúp bạn dễ dàng xem lịch sử cập nhật trên PC của mình.

Bỏ Chặn Script để Tự Động Hóa

Bước tiếp theo là làm cho script chạy tự động, nhưng trước đó, chúng ta cần đảm bảo rằng nó sẽ không yêu cầu thêm quyền. Theo mặc định, các script PowerShell thường bị chặn không cho chạy tự động, vì vậy bạn phải bỏ chặn tệp theo cách thủ công. Để làm điều này, hãy sử dụng lệnh Unblock-File trong PowerShell, theo sau là đường dẫn đến script PowerShell mà chúng ta vừa tạo. Ví dụ:

Unblock-File "C:UsersjoaocDocumentsRunWindowsUpdate.ps1"

Lệnh này sẽ cho phép script tự động hóa chạy mà không bị hạn chế, vì vậy bạn không phải phê duyệt hay thực hiện bất cứ điều gì thủ công.

Lên Lịch Chạy Script Tự Động Bằng Task Scheduler

Sau khi bỏ chặn script, bạn có thể tạo tác vụ tự động hóa bằng cách sử dụng một script PowerShell khác hoặc dùng Task Scheduler (Trình lập lịch tác vụ). Chúng tôi sẽ chọn phương pháp sau vì nó dễ minh họa và thực hiện hơn cho đa số người dùng.

  1. Mở menu Start và gõ Task Scheduler vào thanh tìm kiếm. Chọn tùy chọn đầu tiên hiện ra.

  2. Sử dụng menu ở phía bên phải của cửa sổ để chọn Create Basic Task (Tạo tác vụ cơ bản). (Nếu bạn muốn tổ chức các tác vụ của mình tốt hơn, bạn có thể tạo một thư mục mới trước).

    Giao diện Task Scheduler với nút "Create Basic Task" được đánh dấuGiao diện Task Scheduler với nút "Create Basic Task" được đánh dấu

  3. Đặt tên tác vụ (ví dụ: Cập nhật Windows tự động) và thêm mô tả nếu bạn muốn. Nhấp Next (Tiếp theo).

  4. Trong phần Trigger (Trình kích hoạt), chọn tần suất script nên chạy. Tùy chọn tốt nhất ở đây có lẽ là đặt thành Daily (Hàng ngày) để bạn có thể chắc chắn cài đặt bất kỳ bản cập nhật nào trước khi chúng có thể làm phiền bạn. Nhấp Next.

  5. Trên trang tiếp theo, chọn thời gian tác vụ nên chạy lần đầu tiên. Ở đây, hãy đảm bảo bạn chọn thời gian mà bạn không cần sử dụng máy tính. Ví dụ, 3 giờ sáng sẽ cho phép tác vụ chạy qua đêm. Nhưng bạn cũng có thể tắt máy tính vào thời điểm đó, vì vậy hãy đảm bảo chọn thời gian phù hợp với bạn.

    Hộp thoại tạo tác vụ mới hiển thị cài đặt thời gian và ngày chạy tác vụ lần đầu tiênHộp thoại tạo tác vụ mới hiển thị cài đặt thời gian và ngày chạy tác vụ lần đầu tiên

    Bạn cũng có thể chọn số ngày giữa mỗi lần chạy. Mặc định là 1. Nhấp Next.

  6. Trong tab Action (Hành động), chọn Start a program (Khởi động một chương trình) và nhấp Next.

  7. Trên trang tiếp theo, dưới mục Program/Script (Chương trình/Script), nhập PowerShell.exe.

  8. Bên cạnh Add arguments (optional) (Thêm đối số (tùy chọn)), nhập lệnh sau (thay thế đường dẫn tệp bằng đường dẫn bạn đang sử dụng trên máy của mình):

    -NoProfile -WindowStyle Hidden -File "C:UsersjoaocDocumentsRunWindowsUpdate.ps1"
  9. Nhấp Next và sau đó Finish (Hoàn tất).

  10. Sau khi tạo tác vụ, đi tới Task Scheduler Library (Thư viện Trình lập lịch tác vụ) ở phía bên trái của cửa sổ.

  11. Nhấp chuột phải vào tác vụ bạn đã tạo và chọn Properties (Thuộc tính).

  12. Nhấp vào Change User or Group… (Thay đổi Người dùng hoặc Nhóm…).

    Cửa sổ thuộc tính tác vụ trong Task Scheduler, với tùy chọn "Change User or Group..." được đánh dấuCửa sổ thuộc tính tác vụ trong Task Scheduler, với tùy chọn "Change User or Group…" được đánh dấu

  13. Nhập System vào hộp văn bản và sau đó nhấp vào Check Names (Kiểm tra Tên).

    Hộp thoại Task Scheduler để chọn người dùng chạy tác vụ, với "System" được nhậpHộp thoại Task Scheduler để chọn người dùng chạy tác vụ, với "System" được nhập

  14. Nhấp OK.

  15. Đánh dấu vào ô Run with highest privileges (Chạy với quyền cao nhất).

    Thuộc tính tác vụ trong Task Scheduler với tùy chọn "Run with highest privileges" được đánh dấuThuộc tính tác vụ trong Task Scheduler với tùy chọn "Run with highest privileges" được đánh dấu

  16. (Tùy chọn) Bạn cũng có thể muốn chuyển đến tab Conditions (Điều kiện) và bỏ chọn ô “Start the task only if the computer is on AC power” (Chỉ khởi động tác vụ nếu máy tính đang sử dụng nguồn AC). Điều này sẽ cho phép tác vụ chạy ngay cả khi laptop không được cắm sạc.

  17. Nhấp OK để hoàn tất cài đặt.

Script giờ đây sẽ chạy tự động hàng ngày vào thời gian bạn đã đặt (trừ khi bạn chọn lịch trình lặp lại khác). Ngoài ra, nếu bạn muốn sử dụng PowerShell để tạo tác vụ này, bạn có thể dùng Notepad như đã hướng dẫn ở trên, nhưng sao chép văn bản ví dụ từ đây. Bạn có thể sửa đổi các biến thời gian để phù hợp với nhu cầu của mình. Thực hiện các bước tương tự để tạo tệp PS1 và sau đó chạy nó thủ công (chỉ cần chạy một lần). Hãy chắc chắn thay đổi đường dẫn đến script để khớp với nơi bạn đã lưu tệp PS1 của mình.

Mở Rộng Và Tối Ưu Script Cập Nhật Của Bạn

Script cơ bản mà chúng ta đã tạo sẽ kiểm tra và cài đặt các bản cập nhật Windows, nhưng nó khá đơn giản. Nó không có logic xử lý lỗi tiềm ẩn và sẽ không phát hiện các bản cập nhật ngoài Windows, chẳng hạn. Có một số thay đổi bạn có thể thực hiện để khắc phục những hạn chế này nếu cần.

Bao Gồm Cập Nhật Phần Mềm Microsoft Khác

Nếu bạn muốn bao gồm các bản cập nhật phần mềm Microsoft khác khi cài đặt Windows Updates, bạn có thể thêm đối số -MicrosoftUpdate bên cạnh -Install-WindowsUpdate trong script chúng ta đã tạo. Về cơ bản, dòng lệnh mới sẽ trông như thế này:

Install-WindowsUpdate -MicrosoftUpdate -AcceptAll -AutoReboot -Verbose | Tee-Object -FilePath $LogPath -Append

Giới Hạn Băng Thông Tải Xuống (Throttle Download)

Nếu bạn đang triển khai script này trên nhiều PC trong một tổ chức lớn, bạn có thể muốn giới hạn băng thông tải xuống cho mỗi máy. Bạn có thể thêm đối số -ThrottleDownload để thực hiện điều này. Tương tự, nếu bạn đang sửa đổi script cơ bản, dòng lệnh mới sẽ trông như thế này (ví dụ):

Install-WindowsUpdate -ThrottleDownload 5Mbps -AcceptAll -AutoReboot -Verbose | Tee-Object -FilePath $LogPath -Append

Tự Động Cập Nhật Máy Từ Xa (PowerShell Remoting)

Cũng có thể sử dụng script này trên các máy từ xa với PowerShell Remoting, đây là một cân nhắc khác cần thực hiện. Trong trường hợp này, trước tiên bạn phải bật PowerShell Remoting bằng lệnh Enable-PSRemoting -Force, sau đó sửa đổi script của mình để chạy trên các máy mong muốn. Bạn có thể tìm thấy một script ví dụ cho việc này tại đây (nhờ Paul Amman trong bài đăng Medium này). Tuy nhiên, bạn sẽ phải sửa đổi nó với các tên máy tính phù hợp mà bạn muốn nhắm mục tiêu.

Kiểm Tra Lỗi Cập Nhật

Nếu có bất kỳ lỗi nào với các bản cập nhật, bạn có thể sử dụng Event Viewer (Trình xem sự kiện) để xem điều gì đã xảy ra, hoặc duyệt đến vị trí lưu trữ các tệp nhật ký của bạn để xem những gì được hiển thị ở đó.

Kết Luận

Windows Update đôi khi có thể gây phiền toái, nhưng việc áp dụng script PowerShell này sẽ giúp mọi thứ trở nên dễ dàng hơn rất nhiều. Bạn sẽ không còn phải lo lắng về việc máy tính tự động cài đặt các bản cập nhật và khởi động lại vào những thời điểm không mong muốn. Với lịch trình đã được thiết lập sẵn, bạn có thể yên tâm rằng các bản cập nhật quan trọng sẽ được xử lý mà không gây bất kỳ bất ngờ nào, đảm bảo hệ thống luôn an toàn và ổn định. Ngay cả khi bạn không phải là một chuyên gia kỹ thuật, các bước hướng dẫn trên đủ đơn giản để làm theo, vì vậy đây chắc chắn là một giải pháp đáng để thử.

Bạn đã thử cách này chưa? Hãy chia sẻ kinh nghiệm của bạn ở phần bình luận bên dưới nhé!

Tài liệu tham khảo:

Related posts

Tối Ưu Mạng Gia Đình Với QoS: Giải Pháp Hiệu Quả Cho Kết Nối Ổn Định

Administrator

Tôi Đã Tự Thay Keo Tản Nhiệt GPU Và Đây Là Kết Quả Bất Ngờ

Administrator

5 Ý Tưởng In 3D Hữu Ích: Từ Tổ Chức Văn Phòng Đến Đồ Dùng Gia Đình

Administrator