Question
1er script, 1ers problèmes
- Gabriel
- Auteur du sujet
- Hors Ligne
- Membre senior
-
Réduire
Plus d'informations
- Messages : 58
- Remerciements reçus 0
il y a 8 ans 2 mois #24802
par Gabriel
1er script, 1ers problèmes a été créé par Gabriel
Bonjour à tous,
Je me suis décidé à faire des scripts Windows, donc Powershell.
Mon problème : lancer un programme exécutable qui se trouve dans le répertoire \"Program Files (x86)\". Je suis forcé de laisser cet exécutable à cet endroit là.
Ensuite je veux faire exécuter ce script à heure fixe par le planificateur de tâches.
Je me suis d'abord battu avec les chemins de fichier.
Un chemin complet d'exécutable entre guillemets, Powershell ne semble pas connaître. Si je rentre en console Powershell
[code:1]\"C:\Program Files (x86)\XXX\yyy.exe\"[/code:1]je reçois une bordée d'injures en rouge (en résumé fichier introuvable).
Après un grand nombre d'essais et erreurs, j'ai trouvé le moyen suivant.
[code:1]set-location -path \"C:\Program Files (x86)\XXX\"
.\yyy.exe[/code:1]Là ça marche. Y a-t-il une formulation plus élégante ?
Si maintenant j'enregistre le script ci-dessus comme fichier .ps1 il ne peut être exécuté que manuellement, en cliquant droit dessus, puis \"Exécuter avec Powershell.\"
J'avais lu que pour qu'il soit directement exécutable, il fallait le transformer en .bat.
Alors j'ai changé l'extension .ps1 en .bat mais manifestement ça ne suffit pas car au double-clic il ne se passe rien.
Je commence à fatiguer alors lâchement je demande l'avis des spécialistes.
gabier
Je me suis décidé à faire des scripts Windows, donc Powershell.
Mon problème : lancer un programme exécutable qui se trouve dans le répertoire \"Program Files (x86)\". Je suis forcé de laisser cet exécutable à cet endroit là.
Ensuite je veux faire exécuter ce script à heure fixe par le planificateur de tâches.
Je me suis d'abord battu avec les chemins de fichier.
Un chemin complet d'exécutable entre guillemets, Powershell ne semble pas connaître. Si je rentre en console Powershell
[code:1]\"C:\Program Files (x86)\XXX\yyy.exe\"[/code:1]je reçois une bordée d'injures en rouge (en résumé fichier introuvable).
Après un grand nombre d'essais et erreurs, j'ai trouvé le moyen suivant.
[code:1]set-location -path \"C:\Program Files (x86)\XXX\"
.\yyy.exe[/code:1]Là ça marche. Y a-t-il une formulation plus élégante ?
Si maintenant j'enregistre le script ci-dessus comme fichier .ps1 il ne peut être exécuté que manuellement, en cliquant droit dessus, puis \"Exécuter avec Powershell.\"
J'avais lu que pour qu'il soit directement exécutable, il fallait le transformer en .bat.
Alors j'ai changé l'extension .ps1 en .bat mais manifestement ça ne suffit pas car au double-clic il ne se passe rien.
Je commence à fatiguer alors lâchement je demande l'avis des spécialistes.
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 8 ans 2 mois #24804
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:1er script, 1ers problèmes
gabier écrit:
[code:1]
&\"C:\Program Files (x86)\XXX\yyy.exe\"
[/code:1]
gabier écrit:
MAIS ceci nécessite tout de même d'installer Powershell sur la machine ciblée ou du moins de reconstruire à l'identique.
Je ne suis pas sûr que ce soit une bonne idée...
Je te conseille de faire simple au début, quitte à reprendre cette idée plus tard.
gabier écrit:
Ceci est une chaine de caractère, pour que PS le reconnaisse comme du 'code', il faut le préfixer d'un opérateur & ou .:\"C:\Program Files (x86)\XXX\yyy.exe\"
[code:1]
&\"C:\Program Files (x86)\XXX\yyy.exe\"
[/code:1]
gabier écrit:
Changer l'extension ne fait pas d'un fichier texte un exécutable. Il faut un compilateur qui l’intègre dans un launcher.J'avais lu que pour qu'il soit directement exécutable, il fallait le transformer en .bat.
MAIS ceci nécessite tout de même d'installer Powershell sur la machine ciblée ou du moins de reconstruire à l'identique.
Je ne suis pas sûr que ce soit une bonne idée...
Je te conseille de faire simple au début, quitte à reprendre cette idée plus tard.
gabier écrit:
Et ce n'est que le débutJe commence à fatiguer alors lâchement je demande l'avis des spécialistes.
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Gabriel
- Auteur du sujet
- Hors Ligne
- Membre senior
-
Réduire
Plus d'informations
- Messages : 58
- Remerciements reçus 0
il y a 8 ans 2 mois #24805
par Gabriel
Réponse de Gabriel sur le sujet Re:1er script, 1ers problèmes
Bonjour Laurent,
Merci pour la réponse, très claire.
Pour mon exécutable, les machines qui vont exécuter le script sont sous Windows 10, donc elles ont powershell. Qui plus est elles sont sous mon contrôle donc je peux y autoriser l'exécution des scripts.
Je vais donc dans un premier temps utiliser la syntaxe ci-dessous, que j'ai trouvée sur Internet et qui semble marcher sur une machine qui a powershell en état de marche. On place ce code comme cible d'un raccourci.
[code:1]powershell.exe -file chemin du script ps[/code:1]
Sinon, que penser du script PS2EXE, qui semble être utilisé par beaucoup? Son avantage est de créer un exécutable portable ?
gabier
Merci pour la réponse, très claire.
Pour mon exécutable, les machines qui vont exécuter le script sont sous Windows 10, donc elles ont powershell. Qui plus est elles sont sous mon contrôle donc je peux y autoriser l'exécution des scripts.
Je vais donc dans un premier temps utiliser la syntaxe ci-dessous, que j'ai trouvée sur Internet et qui semble marcher sur une machine qui a powershell en état de marche. On place ce code comme cible d'un raccourci.
[code:1]powershell.exe -file chemin du script ps[/code:1]
Sinon, que penser du script PS2EXE, qui semble être utilisé par beaucoup? Son avantage est de créer un exécutable portable ?
Connexion ou Créer un compte pour participer à la conversation.
- Gabriel
- Auteur du sujet
- Hors Ligne
- Membre senior
-
Réduire
Plus d'informations
- Messages : 58
- Remerciements reçus 0
il y a 8 ans 2 mois #24806
par Gabriel
Réponse de Gabriel sur le sujet Re:1er script, 1ers problèmes
J'ai fait le raccourci. Il marche très bien, mais je n'ai pas réussi à le faire exécuter par le planificateur de tâches de windows. Le raccourci est
[code:1]C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -file D:\gabriel\Mes_Documents\NAS\Start_CBS.ps1[/code:1]
Le planificateur refuse le texte complet du raccourci, il ne prend que l'exécutable soit[code:1]C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe[/code:1] il y a alors un champs \"arguments\", je présume que c'est [code:1]-file D:\gabriel\Mes_Documents\NAS\Start_CBS.ps1[/code:1]
Mais à l'heure planifiée, il ne se passe rien.
Ca commence à me lasser ... Dans le passé j'ai utilisé Cron, le planificateur de Linux, il me semble bien plus simple.
J'ai aussi essayé le script PS2EXE mais il refuse de marcher pour les versions de Powershell supérieure à 4. Il paraît qu'il suffit de le leurrer en changeant la variable d'environnement $PSVersion, mais je n'ai pas réussi. Bref, choux blanc sur ce coup là aussi.<br><br>Message édité par: gabier, à: 5/01/18 17:11
[code:1]C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -file D:\gabriel\Mes_Documents\NAS\Start_CBS.ps1[/code:1]
Le planificateur refuse le texte complet du raccourci, il ne prend que l'exécutable soit[code:1]C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe[/code:1] il y a alors un champs \"arguments\", je présume que c'est [code:1]-file D:\gabriel\Mes_Documents\NAS\Start_CBS.ps1[/code:1]
Mais à l'heure planifiée, il ne se passe rien.
Ca commence à me lasser ... Dans le passé j'ai utilisé Cron, le planificateur de Linux, il me semble bien plus simple.
J'ai aussi essayé le script PS2EXE mais il refuse de marcher pour les versions de Powershell supérieure à 4. Il paraît qu'il suffit de le leurrer en changeant la variable d'environnement $PSVersion, mais je n'ai pas réussi. Bref, choux blanc sur ce coup là aussi.<br><br>Message édité par: gabier, à: 5/01/18 17:11
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 8 ans 2 mois #24807
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:1er script, 1ers problèmes
Pour PS2EXE regarde cette
version
.
Pour la tâche vérifie si elle se déclenche mais ne fait rien ou si elle se déclenche mais génère une erreur.
Pour la tâche vérifie si elle se déclenche mais ne fait rien ou si elle se déclenche mais génère une erreur.
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Gabriel
- Auteur du sujet
- Hors Ligne
- Membre senior
-
Réduire
Plus d'informations
- Messages : 58
- Remerciements reçus 0
il y a 8 ans 2 mois #24808
par Gabriel
Réponse de Gabriel sur le sujet Re:1er script, 1ers problèmes
merci Laurent,
Pour le ps2exe, c'est bon, je n'avais pas bien compris la parade pour ma version. L'autre que tu indiques est sûrement plus sûre.
Pour le planificateur, j'ai fini par y arriver, c'est plein d'options piégeuses ce truc. Et avec l'exécutable, sinon macache.
Merci pour l'aide. Je vais faire une pause maintenant dans l'écriture, ça me donne le temps d'apprendre un peu plus !!!
gabier
Pour le ps2exe, c'est bon, je n'avais pas bien compris la parade pour ma version. L'autre que tu indiques est sûrement plus sûre.
Pour le planificateur, j'ai fini par y arriver, c'est plein d'options piégeuses ce truc. Et avec l'exécutable, sinon macache.
Merci pour l'aide. Je vais faire une pause maintenant dans l'écriture, ça me donne le temps d'apprendre un peu plus !!!
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.047 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- 1er script, 1ers problèmes