2 votes

Planificateur de tâches Server 2008 et un fichier CMD

Planificateur de tâches - J'ai un fichier .cmd que j'essaie d'exécuter régulièrement à travers le Planificateur de tâches. J'ai configuré la tâche pour qu'elle pointe vers le fichier cmd. Je veux que la tâche s'exécute même lorsque personne n'est connecté. J'ai défini les informations d'identification associées à la tâche sur le compte de service local. Lorsque j'exécute la tâche, rien ne se passe. Le Résultat de la dernière exécution affiche 0x1, ce qui signifie qu'elle ne s'est pas exécutée correctement. Lorsque j'exécute le fichier à partir d'une invite de commandes, il s'exécute très bien. Toute aide serait appréciée. Je posterais le code mais il contient des informations sensibles et je ne suis pas autorisé à laisser le code à l'extérieur. Merci

2voto

Créez un compte utilisateur, définissez les autorisations afin que la tâche puisse s'exécuter en tant qu'utilisateur (par exemple, les autorisations d'accès aux dossiers), exécutez une invite de commandes en tant qu'utilisateur (runas /user:domain\user cmd) puis essayez la tâche à partir de là.

Lorsque cela fonctionne, définissez la tâche planifiée pour s'exécuter en tant qu'utilisateur.

Éditez : cela ne fonctionnera pas avant de tenir compte de la réponse de Shane Madden concernant les autorisations sur c:\windows\system32\cmd.exe également.

2voto

Shane Madden Points 112034

Il n'est pas clair de votre question si la tâche s'exécute en tant que "SYSTEM LOCAL" ou un utilisateur local qui est un compte de service.

Si,

  1. l'utilisateur est un compte de service local, pas le compte système, et
  2. l'utilisateur n'est pas dans le groupe Administrateurs,

alors vous devrez apporter des modifications aux paramètres de sécurité de cmd.exe - par défaut, la liste de contrôle d'accès NTFS ne permet d'exécuter que aux administrateurs et aux utilisateurs connectés de manière interactive. (référence)

Éditer: Oh, et ceci s'applique uniquement à Windows 2003. J'ajoute trois suppositions infondées dans cette réponse.. faites-nous savoir quel système d'exploitation et niveau de droits utilisateur, et nous devrions pouvoir le restreindre.

2voto

chrisA Points 21

J'ai eu un problème similaire car mon fichier .cmd était dans C:\ (racine). Après l'avoir déplacé ailleurs, il s'est bien exécuté depuis le Planificateur de tâches. Dans certains environnements d'entreprise, il y a des restrictions au niveau de la racine C:\.

1voto

Nic Gibson Points 4539

Pour XP, 2000 et Server 2003, consultez cet article de Microsoft "la seule façon de planifier une tâche en tant que compte Système est d'utiliser AT.EXE pour planifier la tâche"

http://support.microsoft.com/kb/223375

Pour Vista et 2008, cela peut aider https://stackoverflow.com/questions/77528/how-do-you-run-cmd-exe-under-the-local-system-account

1voto

abe Points 11

Essayez une pause dans votre script. Vous pourrez alors lire le problème.

Dans mon cas, j'ai eu une erreur access denied, car le script a commencé à s'exécuter dans \windows\system32. Donc, après être entré dans le bon dossier (cd), ça a fonctionné.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X