Tâche planifiée Windows - Erreur 2147943711 pour la tâche «au démarrage»

14

J'ai une tâche onstartup que je veux exécuter automatiquement, que quelqu'un soit connecté ou non.

Je l'ai configuré comme Run whether user is logged in or not, Do not store password1et Run with highest privileges, ce qui, je suppose, fonctionnerait, en utilisant le code ci-dessous:

schtasks /create /tn "My OnStartup Task"  /TR "powershell blah.ps1" /sc ONSTART /f /NP /RL HIGHEST

Après avoir activé l'historique du planificateur de tâches, je reçois des erreurs comme:

Event ID: 104: Task Scheduler failed to log on "<Task Author>" . Failure occurred in "LsaLogonUser" . User Action: Ensure the credentials for the task are correctly specified. Additional Data: Error Value: 2147943711.

Event ID: 311: Task Scheduler failed to start Task Engine ""  process due to an error occurring in "LUAIsElevatedToken" . Command="taskeng.exe" . Additional Data: Error Value: 2147943711.

Event ID: 101: Task Scheduler failed to start "\My OnStartup Task" task for user "<Machine>\<Task Author>". Additional Data: Error Value: 2147943711.

J'ai spécifiquement défini de ne pas stocker le mot de passe, mais les erreurs indiquent qu'il essaie d'utiliser le mot de passe. Je me souviens avoir lu quelque part que la case à cocher de stockage du mot de passe ne compte pas non plus pour "ne pas s'exécuter de manière interactive", ou quelque chose du genre. Quelqu'un pourrait-il m'orienter dans la bonne direction ici?

glasnt
la source

Réponses:

11

Vous ne devez pas spécifier un compte d'utilisateur sous lequel exécuter la tâche si vous ne souhaitez pas enregistrer le mot de passe. Exécutez-le en tant que système si cela fonctionne ou enregistrez le compte d'utilisateur et le mot de passe avec la tâche.

Greg Askew
la source
2
Merci pour cela Greg, j'ai parcouru les permutations de drapeaux et d'utilisateur (aucun, local, système), et j'ai trouvé que l'utilisateur du système le laissait réellement s'exécuter. Merci :)
glasnt
1

Ma solution (notée ici pour aider les autres en plus de la réponse acceptée):

La tâche était exécutée sous un utilisateur local . Exécutez si l'utilisateur est connecté ou non coché; Ne stockez pas le mot de passe non coché.

Tout allait bien jusqu'à ce que nous renommions la machine - j'ai ensuite dû réaffecter l'utilisateur sous lequel le travail s'exécute pour être le même utilisateur - mais sous un autre ordinateur.

BIDeveloper
la source