2

Пытаясь заставить это работать, я создал несколько запланированных задач с ключом /Z который согласно документации ...

Значение, помечающее задачу, которая будет удалена после ее окончательного запуска.

Мне удалось создать запланированные задачи, которые были автоматически удалены после истечения срока их действия, но я не смог создать новые задачи с тем же именем после этого. Вот частичный журнал команд, которые я использовал:

C:\WINDOWS\system32>schtasks /create /TN testtask1 /TR calc.exe /SC ONCE /ST 20:06
SUCCESS: The scheduled task "testtask1" has successfully been created.

C:\WINDOWS\system32>schtasks /create /TN testtask1 /TR calc.exe /SC ONCE /ST 20:07 /F
SUCCESS: The scheduled task "testtask1" has successfully been created.

C:\WINDOWS\system32>schtasks /create /TN testtask1 /TR calc.exe /SC ONCE /ST 20:08 /F /Z
ERROR: The task XML is missing a required element or attribute.
(40,4):EndBoundary:
C:\WINDOWS\system32>schtasks /create /TN testtask1 /TR calc.exe /SC MINUTE /MO 1 /ST 20:09 /ET 20:11 /F /Z
SUCCESS: The scheduled task "testtask1" has successfully been created.

C:\WINDOWS\system32>schtasks /query /TN testtask1

Folder: \
TaskName                                 Next Run Time          Status
======================================== ====================== ===============
testtask1                                11-02-2016 20:11:00    Ready

C:\WINDOWS\system32>schtasks /query /TN testtask1
ERROR: The system cannot find the file specified.

C:\WINDOWS\system32>schtasks /create /TN testtask1 /TR calc.exe /SC MINUTE /MO 1 /ST 20:12 /ET 20:14 /F /Z
ERROR: The system cannot find the file specified.

C:\WINDOWS\system32>schtasks /create /TN testtask1 /TR calc.exe /SC MINUTE /MO 1 /ST 20:12 /ET 20:14 /Z
WARNING: The task name "testtask1" already exists. Do you want to replace it (Y/N)? y
ERROR: The system cannot find the file specified.

Я использую Windows 10 (сборка 10586.104), и я не проверял это на старых версиях Windows, поэтому я не уверен, относится ли эта проблема к моей системе. Я также не могу использовать графический интерфейс (taskschd.msc) для создания запланированных задач с ранее использованными именами.

По предложению @ root я попытался запустить Unregister-ScheduledTask -TaskName testtask1 -Confirm:$false в PowerShell, но я получил эту ошибку:

Unregister-ScheduledTask : No MSFT_ScheduledTask objects found with property 'TaskName' equal to 'testtask1'.  Verify
the value of the property and retry.

Я также запустил fsutil resource setautoreset true c:\ и перезагрузил Windows в соответствии с рекомендациями aikitsupport.com, но это тоже не помогло.


PS Если вы можете придумать лучшее название вопроса, не стесняйтесь редактировать его.

1 ответ1

4

Удалите недействительные записи из TaskCache. TaskCache обычно поддерживается автоматически, в этом случае некоторые записи не удалялись автоматически при удалении задачи.

Выполните поиск в реестре и вручную удалите все ключи, которые содержат недопустимое имя запланированной задачи, которые находятся в:

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

а также

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

Это позволит повторно использовать имя задачи.

Другим пользователям с этим сценарием, возможно, также придется удалять записи, найденные в C:\Windows\System32\Tasks содержащие имя задачи, хотя в этом случае вы заметили, что они уже были удалены.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .