J'ai quelques tâches dans le planificateur de tâches sur Windows 2008 R2. Je les ai créées en tant qu'administrateur et je suis connecté en tant qu'administrateur. Je n'ai aucun moyen facile de renommer les tâches. Le seul moyen que j'ai trouvé est d'exporter la configuration de la tâche dans un fichier XML et de la réimporter dans une nouvelle tâche, d'y changer le nom, puis de supprimer l'ancienne tâche. Existe-t-il un moyen plus simple ?
Réponses
Trop de publicités?Félicitations ! Vous êtes confronté à un problème qui a laissé de nombreux utilisateurs/administrateurs de Windows perplexes. Non, vous ne pouvez pas renommer une tâche, sauf pour l'exporter, la renommer et la réimporter. Oui, c'est assez bête. Peut-être qu'un scripteur entreprenant pourrait créer un simple script PowerShell qui automatise cela, mais en attendant, vous êtes coincé avec votre exportation/importation en deux étapes. Désolé. =(
(Vous ne pouvez pas non plus renommer un dossier de tâches après l'avoir créé).
Ce n'est pas la meilleure solution, mais elle peut sauver des vies.
Les tâches sont stockées dans C:\Windows\System32\Tasks
en format XML importable à l'aide de schtasks.exe
. Comme l'a dit Weasly, renommer le fichier ne fonctionne pas mais Créer/Supprimer le fera. Cela dit, vous avez besoin du mot de passe de l'utilisateur courant (que vous avez)
Par rapport à la suggestion de Weasly, elle ne fait que sauter la phase d'exportation.
- créer une deuxième tâche en utilisant la première comme modèle
- retirer l'original
使用方法 srcname
y dstname
et un admin Shell dans le dossier Tasks :
C:\Windows\System32\Tasks>schtasks /Create /tn dstname /xml srcname /ru [running username] /rp [password]
SUCCESS: The scheduled task "dstname" has successfully been created.
C:\Windows\System32\Tasks>schtasks /delete /tn srcname /f
SUCCESS: The scheduled task "srcname" was successfully deleted.
Notes :
- Avec un peu de script, vous pouvez renommer un grand nombre de tâches sans effort.
- Si nécessaire, vous devriez être en mesure d'extraire l'EF originale du XML (dans le nœud
Task/Principals/Principal/UserId
) - Si vous voulez que schtasks demande le mot de passe, supprimez simplement
/rp [password]
portion
Version courte
Vous ne pouvez pas renommer une tâche planifiée, car cela modifierait le nom de la tâche. SID
la tâche s'exécute comme.
Le nom forme le Identifiant de sécurité (SID) de l'utilisateur sous lequel la tâche sera exécutée. Renommer la tâche romprait toutes les autorisations existantes.
Version longue
De nombreuses personnes se plaignent de ne pas pouvoir renommer une tâche planifiée. Il y a une raison à cela.
Une tâche planifiée s'exécute comme une utilisateur par exemple :
-
Local Service
(bon) -
Network Service
(bon) -
System
(mauvais) - un compte de processus créé manuellement dans Active Directory (mauvais)
Cela signifie que si votre tâche a besoin d'accéder à certaines ressources, vous devez accorder cet accès aux ressources. utilisateur l'accès à ces ressources.
Ce que nous voulons vraiment, c'est accorder l'accès à ce Tâche ; la tâche planifiée elle-même doit avoir les autorisations, et non l'utilisateur sous lequel la tâche est exécutée. Cela s'appelle Renforcement de la sécurité des tâches .
Durcissement des tâches
Lorsqu'une tâche planifiée est exécutée, le planificateur de tâches ajoute un élément supplémentaire à la liste des tâches. Identifiant de sécurité (SID) dans le jeton de l'utilisateur qui exécute la tâche. Par exemple :
-
Nom :
NT TASK\[Task name]
(par exemple, "NT TASK \The le renard brun a sauté par-dessus le chien paresseux") -
Groupe sid : S-1-5-87-x-x-x-x-x (e.g. S-1-5-87-2312335432-65297056-3549082870-2589977271-250352331)
Le sid de ce groupe est généré dynamiquement sur la base du hash du nom de la tâche planifiée. Le groupe sid est un enfant de l'autorité S-1-5-87
. Les SID ID relatif 87
provient de la constante définie dans winnt.h
:
SECURITY_TASK_ID_BASE_RID (0x00000057L)
Vous pouvez voir ce SID de groupe supplémentaire dans le jeton de sécurité du processus lancé :
Générer des SID de tâches
Vous pouvez hacher manuellement le nom d'une tâche, ou voir ce que serait le sid hypothétique pour cette tâche, en exécutant un outil en ligne de commande :
>schtasks /showsid /TN "The quick brown fox jumped over the lazy dog"
SUCCESS: The SID "S-1-5-87-2312335432-65297056-3549082870-2589977271-250352331"
for the user name "The quick brown fox jumped over the lazy dog"
has been computed successfully.
Et vous pouvez utiliser icacls pour accorder des permissions à ce groupe :
>icacls yellow.png /grant "*S-1-5-87-2312335432-65297056-3549082870-2589977271-250352331:(M)"
Si la tâche planifiée se trouve dans un dossier, vous devez également inclure ce dossier :
>schtasks /showsid /TN "Stackoverflow\Answer Question About Security"
SUCCESS: The SID "S-1-5-87-1865438416-972601292-3915696002-2261943663-3756584440"
for the user name "Stackoverflow-Answer Question About Security"
has been computed successfully.
Et, encore une fois, vous pouvez accorder à ce SID des permissions sur l'objet :
>icacls yellow.png /grant "*S-1-5-87-1865438416-972601292-3915696002-2261943663-3756584440:(M)"
processed file: yellow.png
Successfully processed 1 files; Failed processing 0 files
Et vous pouvez voir le groupe ayant reçu des permissions (dans ce cas-ci Modifier permissions) :
Le bon côté des choses :
- ce système de comptes virtuels (qui est également utilisé par les services avec des
NT SERVICE
et par l'identité de l'application IIS). - et avec le spécial
Local Service
yNetwork Service
comptes
est que ces comptes n'ont pas de mot de passe - aucun utilisateur n'est autorisé à se connecter sous leur nom. Cela signifie que vous n'avez pas à vous soucier de la fuite du mot de passe.
Et en plus de cela, lorsque vous utilisez NT TASK
, NT SERVICE
o IIS APPPOOL
comptes virtuels pour attribuer des permissions : il n'y a aucun moyen de se faire passer pour cet utilisateur. Ce n'est en aucun cas un utilisateur. Ce sont des limites de sécurité supplémentaires qui sont une très bonne chose.
Donc, bien sûr, vous ne pouvez pas le renommer.
Si vous avez été attentif, vous comprenez maintenant pourquoi vous ne pouvez pas renommer une tâche planifiée ou la déplacer dans un autre dossier : cela changerait le hash du nom de la tâche, ce qui modifierait le nom de la tâche. NT TASK
SID, et invalider toutes les permissions qui lui ont été accordées.
Assurez-vous avant de répondre "Impossible", "Impossible", etc.
Vérifiez ce pouvoir Shell Shell .
- Réponses précédentes
- Plus de réponses