Vous ne pouvez pas le faire fonctionner comme un utilisateur compte. Mais vous pouvez l'exécuter avec un compte virtuel groupe compte. (Mais depuis que ce "groupe" a une relation 1:1 avec la tâche, il est effectivement un utilisateur).
Disons que vous exécutez votre tâche planifiée en tant que Service local utilisateur. Ce groupe a une série de SIDs dans son jeton :
Service local :
- Tout le monde (
S-1-1-0
)
- Local (
S-1-2-0
)
- AUTORITÉ NT \Authenticated Utilisateurs (
S-1-5-11
)
- BUILTIN \Users (
S-1-5-32-535
)
Le planificateur de tâches exécute les tâches avec un SID supplémentaire qui est calculé à partir du nom de la tâche.
- La DGSI sera un enfant de l'autorité
S-1-5-87
- et aura un nom de la forme
NT TASK\[Task Name]
Le site identifiant relatif 87
provient de la constante définie dans winnt.h
:
SECURITY_TASK_ID_BASE_RID (0x00000057L)
Vous pouvez manuellement "hash" un nom de tâche dans un SID en exécutant :
>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.
La tâche ne doit pas nécessairement exister ; elle vous indique le SID qu'elle sera à utiliser lorsqu'une tâche portant ce nom est exécutée.
-
Nom de la tâche :
The quick brown fox jumped over the lazy dog
-
SID associé :
S-1-5-87-2312335432-65297056-3549082870-2589977271-250352331
-
Nom du groupe :
NT TASK\The quick brown fox jumped over the lazy dog
Cela signifie que lorsque votre tâche planifiée s'exécutera, elle aura un nouveau SID dans son jeton de sécurité :
Service local :
- Tout le monde (
S-1-1-0
)
- Local (
S-1-2-0
)
- AUTORITÉ NT \Authenticated Utilisateurs (
S-1-5-11
)
- BUILTIN \Users (
S-1-5-32-535
)
-
TASK NT \The Le renard brun a sauté par-dessus le chien paresseux. (
S-1-5-87-2312335432-65297056-3549082870-2589977271-250352331
)
Avec le tag de ce nouveau groupe SID dans le jeton, vous pouvez modifier les permissions sur les fichiers et les dossiers afin que seule la tâche planifiée puisse y accéder :
>icacls icacls yellow.png /grant "*S-1-5-87-2312335432-65297056-3549082870-2589977271-250352331:(M)"
Bonus Chatter
Félicitations pour avoir exécuté vos tâches en tant que Local Service
- c'est le bon choix. Il s'agit d'un compte spécial de droits de rang, sous lequel personne ne peut se connecter, et qui n'a aucun droit (à part les mêmes droits "anonyme" les utilisateurs obtiennent) sur le réseau. De nombreux sites "experts en sécurité" se mettent en tête que les tâches doivent être exécutées avec un compte spécial qu'ils créent dans Active Directory avec un mot de passe complexe et aléatoire. Cela me rend fou que ces gens ne comprennent pas les bases de la sécurité.
Lecture en prime