Page 1 sur 1

[..] Copier un script autoit et l'exécuter dans le répertoir

Posté : mar. 24 févr. 2015 12:45
par Lebalbo2013
Bonjour à tous,
Svp j'aurais besoin d'aide.J'ai fait un autoit qui copie des fichiers dans le répertoire public et exécute un batch depuis ce répertoire.Mon problème c'est que déployant ce script via SCCM 2007,il s'exécute dans le cache du disque donc sur le C: et du coup du fait du mode d'exécution des fichiers dans le batch,ce script ne marche plus.
Si je copie manuelle ment le script que j'exécute ainsi que les fichiers à copier dans le répertoire public,ensuite j'exécute le dit script la commande fonctionne mais sur le C: elle ne fonctionne pas.
Comment faire pour créer un script qui copie le script qui est entrain d'être créé (si c'est posssible) ainsi que les autres fichiers dans le répertoire public et ensuite l'exécuter à partir de là.
Je ne sais pas si je suis suffisamment clair.Ma question est peut-être pas très futée,mais je suis ici pour apprendre.
Merci d'avance pour votre aide.
Cordialement,
Lebalbo

Re: [..] Copier un script autoit et l'exécuter dans le réper

Posté : mar. 24 févr. 2015 21:54
par nouveaujoueur
Salut,

Il faut faire attention aux antislashs :

$MonFichier = @ScriptDir & "\MonFichier.txt"

Si le script est exécuté à la racine du disque dur (C:)

$MonFichier donnera C:\\MonFichier.txt

Pour répondre à ton interrogation, non tu n'es pas clair.
Si ton problème ne vient pas de là, poste ton script, quelqu'un de plus compétent viendra certainement te répondre.

Re: [..] Copier un script autoit et l'exécuter dans le réper

Posté : mer. 25 févr. 2015 09:14
par jguinch
Lebalbo2013 a écrit :il s'exécute dans le cache du disque donc sur le C: et du coup du fait du mode d'exécution des fichiers dans le batch,ce script ne marche plus.
j'ai absolument rien compris...
C'est quoi que tu appelles le répertoire public ?

Re: [..] Copier un script autoit et l'exécuter dans le réper

Posté : mer. 25 févr. 2015 09:51
par Lebalbo2013
Bonjour et merci de votre retour,
le répertoire "public" désigne : c:\users\public\documents.Lorsque j'exécute mon script dans ce répertoire il s'exécute correctement.MAis dans le répertoire "c:Windows\Syswo64\cache",qui est le répertoire dans lequel mon outil de télédistribution exécute mon package celà ne fonctionne pas.
J'ai donc compris qu'à partir du répertoire précédemment cité je ne peux exécuter mon script.Et je ne sais pas quelle ligne de commandes ajouter pour pas qu'il s'exécute sur "c:Windows\Syswo64\cache".
Cordialement,
Lebalbo

Re: [..] Copier un script autoit et l'exécuter dans le réper

Posté : mer. 25 févr. 2015 11:06
par jguinch
OK c'est plus clair maintenant.
Par contre sans nous montrer ton script, ça va être difficile de t'aider...

Re: [..] Copier un script autoit et l'exécuter dans le réper

Posté : mer. 25 févr. 2015 11:28
par Lebalbo2013
CI-dessous mon script:

Code : Tout sélectionner

FileCopy(@ScriptDir & "\Licence.sss",@DocumentsCommonDir,1)
FileCopy(@ScriptDir & "\MAJ_SAS.cmd",@DocumentsCommonDir ,1)
Run("run C:\Users\Public\Documents\MAJ_SAS.cmd")
Run("C:\Users\Public\Documents\MAJ_SAS.cmd")

Et voici le code compris dans le batch:
[Code ]
"c:\program files (X86)\sas institute\sas\v8\sas.exe" -sysin "c:\Users\Public\Documents\Licence.sss" 
Je souhaiterais qu'il s'exécute dans le répertoire : "C:\Users\Public\Documents".Car dans le cache sccm çà ne fonctionne pas.
Merci d'avance.
Cordialement,

Re: [..] Copier un script autoit et l'exécuter dans le réper

Posté : mer. 25 févr. 2015 18:39
par Tlem
Bonsoir,
"C:Windows\Syswo64\cache" est un répertoire "système" et en fonction de votre OS, vous n'avez pas forcément les droits d'écriture (surtout si vous avez l'UAC d'activé).

Pour ce genre de chose, utilisez le dossier @tempdir.
Copiez votre script dans le dossier Temp et faites vos opérations depuis ce dossier.

Re: [..] Copier un script autoit et l'exécuter dans le réper

Posté : mer. 25 févr. 2015 23:39
par jguinch
@Lebalbo2013 : un truc que je ne comprends pas : tu dis que ta télédistribution (l'agent SCCM) exécute le package depuis c:Windows\Syswo64\cache. Mais est-ce que le package SCCM copie les autres fichiers dans ce répertoire (notamment le fichier Licence.sss) ? Ne devrais-tu pas utiliser FileInstall au lieu de FileCopy ?
Un truc du genre :

Code : Tout sélectionner

FileInstall("Licence.sss", @ScriptDir & "\Licence.sss", 1)
RunWait(@ProgramFilesDir & '\sas institute\sas\v8\sas.exe -sysin "' & @ScriptDir & '\Licence.sss"' )

Re: [..] Copier un script autoit et l'exécuter dans le réper

Posté : jeu. 26 févr. 2015 10:41
par Lebalbo2013
@jguinch;l'agent SCCM copie et exécute effectivement les fichiers depuis c:Windows\Syswo64\CCM\cache.Il se sert d'un compte Système;çà a toujours bien fonctionné pour les autres applis et MAJ que je déploie mais pas pas pour cele
j'ai utilisé FileCopy dans le but de copier mon fichier "licence.sss" ainsi que mon batch dans le répertoire "Public_Mes Documents" afin de pouvoir l'exécuter dans ce repertoire sans soucis.La copie a bien fonctionné mais apparemment l'execution non puisque la licence n'est pas activé manuellement;par contre en exécutant manuellement mon batch depuis le répertoire sus-mentionné celà fonctionne bien et la licence se met bien à jour.
Je ne sais pas si çà répond à ta question.
Cordialement,
Lebalbo13

Re: [..] Copier un script autoit et l'exécuter dans le réper

Posté : jeu. 26 févr. 2015 22:44
par jguinch
OK donc si l'exécution se fait avec le compte système, il n'y a pas de problème de droits.
Ce qui me dérange le plus dans cette histoire, c'est le batch. :| Pourquoi ne mettre la commande dans le script AutoIt ?
Tu as testé le code que j'avais posté ? (moyennant peut-être quelques modifs)

Re: [..] Copier un script autoit et l'exécuter dans le réper

Posté : jeu. 12 mars 2015 13:19
par Lebalbo2013
Bonjour,
@jguinch,j'ai testé le ode que tu m'as proposé mais ce làne fontionne toujours pas;il fait que mon script:lorsque je l'exécute moi même c'est Ok.Mais via SCCM c'est KO.J'ai modfié les paramètres d'exécution via SCCM avec tous les scénarios possibles.çà marche pas.
Cependant le support de l'application me dit que j'utilise une version du logiciel ancienne qu'il faudrait metttre à jour.Mais ce n'est pas moi qui décide...

Re: [..] Copier un script autoit et l'exécuter dans le réper

Posté : jeu. 12 mars 2015 21:15
par jguinch
Ce que tu peux faire, c'est essayer de mettre des traces dans un fichier texte pour savoir ce qui se passe.
Un truc dans ce genre :
► Afficher le texte
A la fin de l'exécution de ouvres c:\windows\temp\sas_licence.log pour voir un peu ce qui s'est passé...