[Delphi]

iubito Messages postés 25 Date d'inscription   Statut Membre Dernière intervention   -  
sebsauvage Messages postés 32893 Date d'inscription   Statut Modérateur Dernière intervention   -
bonjour à tous !

j'ai une appli de backup.
Sans aucun paramètre ça permet de configurer une tache planifiée qui lancera monappli.exe -backup.

avec le flag -backup l'appli fait son travail de zip+envoi mail.... nikel !

dans delphi (version 6) quand je définie les paramètres de lancement de l'appli, avec -backup ça marche nikel !

mais les taches planifiées ne se lancent pas, ou plutôt elles donnent l'erreur suivante :

------------------------------------------------------------------------
"ZipAutoBackup.job" (ZipAutoBackup.exe) 31/03/2003 15:13:00 ** ERREUR **
Échec de la tentative de récupération des informations du compte pour la tâche spécifiée ; la tâche ne s'est donc pas exécutée. Soit une erreur s'est produite, soit aucune information de compte n'existait pour cette tâche.
L'erreur spécifique est :
0x8004130f: Aucune information de compte n'a été trouvée pour la tâche indiquée dans la base de donnée de sécurité du Planificateur de tâches.
------------------------------------------------------------------------


Ma tache planifiée semble correcte... mais si manuellement je lui modifie une option, j'ai un écran qui me demande
"Définition des informations du compte"
Exécuter en tant que : nom_de_ma_machine/mon_user
Mot de passe : ______
Confirmer le mot de passe : ______

et après ça, ça marche nikel si g défini le mot de passe.
le but serait que mon code stocke le mot de passe aussi dans la tache, mais je ne vois pas comment faire.

Voici mon code (extraits)
------------------------------------------------------------------------uses
TaskShed...

// Ajoute la nouvelle tache
Task := FrmMain.Sched.Tasks.Add(LibSauvegarde + '.job');
Task.AppName := ParamStr(0); //retourne c:\répertoire\monappli.exe

Task.Parameters := 'BACKUP';
Trigger := Task.Triggers.Add;
Trigger.HasEndDate := False;
Trigger.Kind := tskWeekly;
// Jour de la semaine
Trigger.DaysOfWeek := [];
if (cb1.Checked) then Trigger.DaysOfWeek := Trigger.DaysOfWeek + [tsdMonday];
if (cb2.Checked) then Trigger.DaysOfWeek := Trigger.DaysOfWeek + [tsdTuesday];
//...
if (cb7.Checked) then Trigger.DaysOfWeek := Trigger.DaysOfWeek + [tsdSunday];
Trigger.StartTime := StrTime;
Trigger.Enabled := True;
Trigger.Save;
------------------------------------------------------------------------


Quelles sont les instructions pour stocker aussi le mot de passe ?

merci d'avance ;-)

P.S.: ça urge !!


iubito - http://iubito.free.fr
programmation - musique - Roumanie - annuaire de sites
A voir également:

3 réponses

sebsauvage Messages postés 32893 Date d'inscription   Statut Modérateur Dernière intervention   15 662
 
ah oui:
Quand une tâche est lancée automatiquement, elle est lancée par un utilisateur. Dans le planificateur de tâche, tu dois préciser par quel utilisateur ce job doit être lancé.

Il faut utiliser un utilisateur qui a les droits suffisants pour faire le boulot (accès aux fichiers et répertoire, etc.)
0
iubito Messages postés 25 Date d'inscription   Statut Membre Dernière intervention  
 
le pb est que c mon appli recrée la tâche planifié à chaque fois, et donc je ne peux pas demander aux utilisateurs (non informaticiens) de rajouter le mot de passe dans la tache. Y'a t'il moyen de le faire en delphi ou alors une astuce avec des droits d'accès ?
(parce que si g pas de solution je v faire mon appli qui se lance en tâche de fond (icone dans le systray) et ki fait le job tous les jours à la même heure mais c pas top. Une tache planifié irait nikel :-/

iubito - http://iubito.free.fr
programmation - musique - Roumanie - annuaire de sites
0
sebsauvage Messages postés 32893 Date d'inscription   Statut Modérateur Dernière intervention   15 662
 
Il faut que ton appli qui créé la tâche planifiée la paramètre bien.
Mais je n'ai jamais fait ça.
0