1 votes

Le lot de tâches programmées script ne semble pas s'exécuter en tant qu'administrateur

J'essaie d'exécuter un script batch script, qui copie des fichiers du serveur Windows local vers un serveur Linux distant. (en utilisant rsync et Cygwin) en tant que tâche programmée.

Si j'exécute le batch script manuellement en tant qu'administrateur (Exécuter en tant qu'administrateur) le script batch script s'exécute avec succès et les fichiers cibles sont copiés sur le serveur distant.

Si j'exécute le lot script manuellement, sans privilèges élevés, seule une partie du lot script s'exécute. La partie rsync du lot script échoue.

J'ai donc mis en place une tâche programmée. L'utilisateur est membre du groupe Domain Admins, et l'option "Run with highest privileges" (exécuter avec les privilèges les plus élevés) est cochée dans la tâche.

Cependant, lorsque j'exécute la tâche via Scheduled Tasks, le résultat est le même que lorsque j'exécute le batch script manuellement sans les privilèges de l'administrateur, mais je n'arrive pas à comprendre pourquoi.

Qu'est-ce que Scheduled Tasks fait à l'utilisateur qui pourrait empêcher l'exécution de la partie rsync du script batch script ?

Pour plus de clarté, toutes les ressources utilisées par le script sont locales, à l'exception du serveur distant. Le serveur distant est spécifié dans la commande rsync sous la forme d'une adresse IP : username@ipaddress:/remotedirectory/

En outre, je dois expliquer que comme rsync est exécuté dans le cadre de Cygwin, les lecteurs locaux sont référencés comme /cygdrive/d/directory/, etc. Est-il possible que Scheduled Tasks ait des difficultés à interpréter ces répertoires ?

1voto

Del Points 21

Après mûre réflexion, je me suis rendu compte que le planificateur de tâches avait des difficultés à exécuter la commande rsync. J'ai pensé que cela pouvait être lié à l'accès à Cygwin.

Bien que j'aie ajouté les applications Cygwin à la variable %PATH% et que je puisse exécuter rsync à la demande, le planificateur de tâches devait encore être informé de l'exécution du script script en bash.

La modification de l'action de la tâche pour exécuter "bash -l -c "/cygdrive/driveletter/directory/file" a permis au planificateur de tâches d'exécuter la tâche avec succès.

Le crédit devrait vraiment aller ici : http://www.davidjnice.com/cygwin_scheduled_tasks.html

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