Trình lập lịch tác vụ sẽ không cho phép sử dụng lại tên tác vụ từ các tác vụ cũ hơn, tự động xóa được tạo bằng công tắc / Z


2

Trong khi cố gắng để làm việc này, tôi đã tạo một số tác vụ theo lịch trình với công /Ztắc, theo tài liệu là ...

Một giá trị đánh dấu nhiệm vụ sẽ bị xóa sau lần chạy cuối cùng của nó.

Tôi đã có thể tạo các tác vụ theo lịch trình đã tự động bị xóa sau khi chúng hết hạn nhưng tôi không thể tạo các tác vụ mới có cùng tên sau đó. Đây là nhật ký một phần của các lệnh tôi đã sử dụng:

C: \ WINDOWS \ system32> scht task / tạo / TN testtask1 / TR calc.exe / SC ONCE / ST 20:06
THÀNH CÔNG: Tác vụ theo lịch trình "testtask1" đã được tạo thành công.

C: \ WINDOWS \ system32> scht task / tạo / TN testtask1 / TR calc.exe / SC ONCE / ST 20:07 / F
THÀNH CÔNG: Tác vụ theo lịch trình "testtask1" đã được tạo thành công.

C: \ WINDOWS \ system32> scht task / tạo / TN testtask1 / TR calc.exe / SC ONCE / ST 20:08 / F / Z
LRI: XML nhiệm vụ thiếu một yếu tố hoặc thuộc tính bắt buộc.
(40,4): EndBoundary:
C: \ WINDOWS \ system32> scht task / tạo / TN testtask1 / TR calc.exe / SC MINUTE / MO 1 / ST 20:09 / ET 20:11 / F / Z
THÀNH CÔNG: Tác vụ theo lịch trình "testtask1" đã được tạo thành công.

C: \ WINDOWS \ system32> scht task / query / TN testtask1

Thư mục: \
Tên tác vụ Trạng thái thời gian chạy tiếp theo
======================================== ========== ============ ===============
testtask1 11-02-2016 20:11:00 Sẵn sàng

C: \ WINDOWS \ system32> scht task / query / TN testtask1
LRI: Hệ thống không thể tìm thấy tệp được chỉ định.

C: \ WINDOWS \ system32> scht task / tạo / TN testtask1 / TR calc.exe / SC MINUTE / MO 1 / ST 20:12 / ET 20:14 / F / Z
LRI: Hệ thống không thể tìm thấy tệp được chỉ định.

C: \ WINDOWS \ system32> scht task / tạo / TN testtask1 / TR calc.exe / SC MINUTE / MO 1 / ST 20:12 / ET 20:14 / Z
CẢNH BÁO: Tên tác vụ "testtask1" đã tồn tại. Bạn có muốn thay thế nó (Y / N) không? y
LRI: Hệ thống không thể tìm thấy tệp được chỉ định.

Tôi đang sử dụng Windows 10 (Build 10586.104) và tôi chưa thử nghiệm điều này trên các phiên bản Windows cũ hơn nên tôi không chắc vấn đề này có đặc trưng cho hệ thống của mình không. Tôi cũng không thể sử dụng giao diện GUI ( taskschd.msc) để tạo các tác vụ theo lịch trình với các tên được sử dụng trước đó.

Theo đề xuất của @ root , tôi đã thử chạy Unregister-ScheduledTask -TaskName testtask1 -Confirm:$falsetrong PowerShell nhưng điều đó đã gây ra lỗi này:

Unregister-lên lịchTask: Không tìm thấy đối tượng MSFT_SchediatedTask nào với thuộc tính 'TaskName' bằng 'testtask1'. Kiểm chứng
giá trị của tài sản và thử lại.

Tôi cũng đã chạy fsutil resource setautoreset true c:\và khởi động lại Windows theo khuyến nghị của aikitsupport.com nhưng điều đó cũng không giúp được gì.


PS Nếu bạn có thể nghĩ ra một tiêu đề câu hỏi tốt hơn, hãy thoải mái chỉnh sửa nó.


Bạn có thể xác nhận nếu testtask1 tồn tại một lần, nhiều lần hay không hoàn toàn với Get-ScheduledTask | Sort-Object TaskName? Để được kỹ lưỡng, hãy chạy trong một phiên bản nâng cao của PS
root

@root Nó không hiển thị trong danh sách. Tệp XML có liên quan không hiển thị ở C:\Windows\System32\Tasksmột trong hai. Nó đã làm một lần, trước khi tác vụ theo lịch trình được thực thi và sau đó hết hạn và tệp đã bị xóa. Nó sẽ không hiển thị nữa.
Vinayak

Không phải ai cũng mong đợi kết quả khác nhau giữa schtasksGet-ScheduledTask, nhưng tôi nghĩ định dạng cho /TNtham số yêu cầu đường dẫn đầy đủ đến tác vụ. Ví dụ schtasks /query /FO LIST /TN \Microsoft\Windows\Wininet\CacheTasktrả về một kết quả mà schtasks /query /FO LIST /TN CacheTaskkhông. Ngoài ra - để đảm bảo an toàn - nếu bạn thực sự sử dụng calc.exe trong tác vụ của mình và nó vẫn đang chạy từ khi tác vụ chạy, hãy đóng nó.
root

1
Bạn có thể có các bản ghi testtask1 cũ trong TaskCache. Tôi sẽ tìm kiếm chúng ở đây và xóa mọi thứ được tìm thấy: HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\TasksHKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tree
root

1
@root Thế là xong! Cảm ơn bạn rất nhiều! Các tác vụ đã xóa được liệt kê bên dưới HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Treenhưng không ..\Tasksvà sau khi xóa các khóa liên quan schtasks.exeđã ngừng khiếu nại. Tôi tự hỏi liệu đây có phải là một lỗi hay chỉ là thứ gì đó chỉ ảnh hưởng đến hệ thống của tôi. Tuy nhiên, xin vui lòng gửi nó như là một câu trả lời để tôi có thể chấp nhận.
Vinayak

Câu trả lời:


4

Xóa các mục không hợp lệ khỏi TaskCache. TaskCache thường được duy trì tự động, trong trường hợp này, một số mục không được xóa tự động khi tác vụ bị xóa.

Tìm kiếm trong sổ đăng ký và xóa thủ công bất kỳ khóa nào có chứa tên tác vụ theo lịch trình không hợp lệ được tìm thấy trong:

HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tasks

HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tree

Điều này sẽ cho phép tái sử dụng tên nhiệm vụ.

Những người dùng khác với kịch bản này cũng có thể phải xóa các mục được tìm thấy trong việc C:\Windows\System32\Taskschứa tên tác vụ, mặc dù trong trường hợp này, bạn nhận thấy những mục này đã bị xóa.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.