Sử dụng PowerShell để quản lý Công việc đã lên lịch trong Windows

Hãy Thử Công Cụ CủA Chúng Tôi Để LoạI Bỏ Các VấN Đề

Tôi thường xuyên kiểm tra một số vị trí trên hệ thống Windows mà tôi chạy bao gồm Trình quản lý tác vụ Windows để liệt kê các quy trình đang chạy, các mục tự khởi động và cả các tác vụ đã lên lịch của hệ thống.

Tôi làm điều đó vì một số lý do bao gồm bảo mật để đảm bảo không có gì bị trượt và đang chạy trên hệ thống mà tôi cho là độc hại, phần mềm gián điệp hoặc không mong muốn theo những cách khác, nhưng cũng để gỡ lỗi hệ thống bằng cách tắt, chặn hoặc xóa các chương trình khởi động cùng hệ thống hoặc theo lịch trình.

Mặc dù có thể mở Task Scheduler bằng cách sử dụng tìm kiếm, nhưng nó không cung cấp cho bạn một giao diện rõ ràng để lướt qua danh sách công việc một cách nhanh chóng.

Một chương trình mà tôi thích sử dụng cho nhiệm vụ là Chế độ xem lập lịch tác vụ tuyệt vời của Nirsoft , như thường lệ, là di động và hiệu quả cao.

PowerShell của Windows cung cấp một tùy chọn nhanh khác trên Windows 8 trở lên. Lệnh Get-SchedisedTask trả về tất cả hoặc chọn các tác vụ đã lên lịch của máy tính cục bộ.

  1. Mở một cửa sổ nhắc lệnh. Bạn có thể làm điều đó bằng cách chạm vào phím Windows, nhập Powershell.exe, nhấp chuột phải vào kết quả, chọn 'chạy với tư cách quản trị viên' và nhấn enter. Lưu ý rằng lệnh get-Scheduletask không yêu cầu độ cao trong khi tất cả các lệnh quản lý đều có.
  2. Nhập Get-SchedisedTask

display scheduled tasks

Lệnh cơ bản liệt kê tất cả các tác vụ của máy tính cục bộ được sắp xếp theo đường dẫn. Nó chỉ bao gồm đường dẫn tác vụ, tên tác vụ và trạng thái của tác vụ mà đôi khi có thể đủ.

Tên giúp xác định nhiệm vụ trong khi trạng thái làm nổi bật việc nó được bật hay tắt.

Tuy nhiên, điều làm cho điều này trở nên mạnh mẽ hơn là các tham số mà bạn có thể thêm vào lệnh để hiển thị các chi tiết bổ sung hoặc các tác vụ lọc.

Dưới đây là một số ví dụ lệnh mà bạn có thể thấy hữu ích:

  • Get-SchedisedTask -TaskName Google * trả về tất cả các tác vụ bắt đầu với Google.
  • Get-SchedisedTask -TaskPath trả về tất cả các tác vụ được đặt trong TaskPath root.

Mặc dù rất hữu ích khi hiển thị các tác vụ đã lên lịch theo cách này, nhưng bạn cũng có thể quản lý các tác vụ bằng PowerShell. Xin lưu ý rằng bạn cần có các quyền nâng cao để chạy các tác vụ vô hiệu hóa hoặc kích hoạt trên hệ thống. Điều này có nghĩa là bạn cần chạy PowerShell từ dấu nhắc lệnh nâng cao.

Các lệnh Disable-SchedisedTaskKích hoạt-Lập lịch-Tác vụ đã được thiết kế cho điều đó. Như tên gợi ý, nhiệm vụ đầu tiên vô hiệu hóa tác vụ bạn chọn trong khi tác vụ thứ hai bật chúng.

Nếu bạn chạy các lệnh trực tiếp, bạn cần chỉ định tên tác vụ hoặc đường dẫn một cách rõ ràng. Có một giải pháp cho điều đó mặc dù bạn có thể sử dụng để bật hoặc tắt nhiều tác vụ cùng một lúc.

disable scheduledtasks

Các lệnh mà bạn có thể thấy hữu ích là:

  • Disable-SchedisedTask -taskname 'Adobe Flash Player Updater' sẽ tắt tác vụ Adobe Flash Player Updater.
  • Enable-SchedisedTask -taskname 'Adobe Flash Player Updater' sẽ bật tác vụ Adobe Flash Player Updater.
  • Get-SchedisedTask -taskname Google * | Disable-SchedonedTask vô hiệu hóa tất cả các tác vụ mà lệnh get trả về (bắt đầu với Google),

Các lệnh khác liên quan đến nhiệm vụ được quan tâm là bắt đầu theo lịch trình , dừng theo lịch trìnhhủy đăng ký theo lịch trình .