En essayant de faire fonctionner cela, j'ai créé plusieurs tâches planifiées avec le /Z
commutateur qui, d'après la documentation, est ...
Une valeur qui marque la tâche à supprimer après sa dernière exécution.
J'ai pu créer des tâches planifiées qui ont été automatiquement supprimées après leur expiration, mais je ne pouvais pas créer de nouvelles tâches avec le même nom par la suite. Voici un journal partiel des commandes que j'ai utilisées:
C: \ WINDOWS \ system32> schtasks / create / TN testtask1 / TR calc.exe / SC ONCE / ST 20:06 SUCCESS: La tâche planifiée "testtask1" a été créée avec succès. C: \ WINDOWS \ system32> schtasks / create / Testtask1 TN / calc.exe / SC ONCE / ST 20:07 / F SUCCESS: La tâche planifiée "testtask1" a été créée avec succès. C: \ WINDOWS \ system32> schtasks / create / Testtask1 / TR calc.exe / SC ONCE / ST 20:08 / F / Z ERREUR: il manque un élément ou un attribut requis à la tâche XML. (40,4): EndBoundary: C: \ WINDOWS \ system32> schtasks / créer / TN testtask1 / TR calc.exe / SC MINUTE / MO 1 / ST 20:09 / HE 20:11 / F / Z SUCCESS: La tâche planifiée "testtask1" a été créée avec succès. C: \ WINDOWS \ system32> schtasks / query / TN testtask1 Dossier: \ Statut de la tâche Prochaine heure d'exécution ============================================== =========================== testtask1 11-02-2016 20:11:00 Prêt C: \ WINDOWS \ system32> schtasks / query / TN testtask1 ERREUR: le système ne peut pas trouver le fichier spécifié. C: \ WINDOWS \ system32> schtasks / créer / TN testtask1 / TR calc.exe / SC MINUTE / MO 1 / ST 20:12 / HE 20:14 / F / Z ERREUR: le système ne peut pas trouver le fichier spécifié. C: \ WINDOWS \ system32> schtasks / créer / TN testtask1 / TR calc.exe / SC MINUTE / MO 1 / ST 20:12 / HE 20:14 / Z AVERTISSEMENT: le nom de la tâche "testtask1" existe déjà. Voulez-vous le remplacer (O / N)? y ERREUR: le système ne peut pas trouver le fichier spécifié.
J'utilise Windows 10 (version 10586.104) et je ne l'ai pas testé sur les anciennes versions de Windows. Je ne sais donc pas si ce problème est spécifique à mon système. Je ne peux pas non plus utiliser l'interface graphique ( taskschd.msc
) pour créer des tâches planifiées avec des noms précédemment utilisés.
Sur la suggestion de @ root , j'ai essayé Unregister-ScheduledTask -TaskName testtask1 -Confirm:$false
de lancer PowerShell mais cela m'a valu l'erreur suivante:
Unregister-ScheduledTask: aucun objet MSFT_ScheduledTask trouvé avec la propriété 'TaskName' égal à 'testtask1'. Vérifier la valeur de la propriété et réessayez.
J'ai également exécuté fsutil resource setautoreset true c:\
et redémarré Windows comme recommandé par aikitsupport.com, mais cela n'a pas aidé non plus.
PS Si vous pouvez penser à un meilleur titre de question, n'hésitez pas à le modifier.
Get-ScheduledTask | Sort-Object TaskName
? Pour être précis, exécutez une instance élevée de PSC:\Windows\System32\Tasks
plus. Il l'a fait une fois, avant que la tâche planifiée soit exécutée et par la suite expirée et que le fichier ait été supprimé. Cela ne se verra plus.schtasks
etGet-ScheduledTask
, mais je pense que le format du/TN
paramètre nécessite le chemin d'accès complet à la tâche. Par exemple,schtasks /query /FO LIST /TN \Microsoft\Windows\Wininet\CacheTask
renvoie un résultat là oùschtasks /query /FO LIST /TN CacheTask
pas. De plus, juste par sécurité, si vous utilisez réellement calc.exe dans votre tâche et que celle-ci est toujours en cours d'exécution à partir de son exécution, fermez-la.HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tasks
etHKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tree
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tree
mais pas..\Tasks
et après avoir retiré les clés correspondantes, laschtasks.exe
plainte a cessé. Je me demande s'il s'agit d'un bogue ou simplement d'un problème qui affecte uniquement mon système. Néanmoins, merci de poster comme réponse pour que je puisse accepter.Réponses:
Supprimez les entrées non valides du TaskCache. TaskCache est normalement maintenu automatiquement, dans ce cas, certaines entrées n'ont pas été supprimées automatiquement lors de la suppression de la tâche.
Recherchez dans le registre et supprimez manuellement les clés contenant le nom de tâche programmée non valide qui se trouvent dans:
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tasks
et
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tree
Cela permettra la réutilisation du nom de la tâche.
D'autres utilisateurs de ce scénario peuvent également être amenés à supprimer des entrées
C:\Windows\System32\Tasks
contenues dans le nom de la tâche, bien que dans ce cas, vous ayez remarqué qu'elles avaient déjà été supprimées.la source