Question impossible lancer script powershell via php
- Kevin
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
- Messages : 14
- Remerciements reçus 0
Alors voilà, je suis tout nouveau sur le forum, j'ai un peu cherché (peut-être pas assez?) sur le forum ainsi que sur google mais je n'ai pas trouvé de véritable réponse à mon problème.
Je vous l'explique:
Je cherche à lancer un script powershell depuis un site web en php fait sous IIS 7.5.
Jusque là aucun soucis, un get-process etc... fonctionne MAIS le problème réside dans un start-process.
Alors pour commencer voici mon code php:
[code:1]
<?php
$query = shell_exec(\"powershell -executionpolicy remotesigned -noprofile -file \\\MonServeur\\MonPartage\\MonScript.ps1\"«»);
echo $query;
?>
[/code:1]
Ce code php fonctionne, après il peux surement être amélioré mais là n'est pas le soucis.
Le soucis viens de mon code powershell:
[code:1]
$cred = new-object -typename System.Management.Automation.PSCredential -argumentlist $username,$password
Start-Process powershell.exe -Credential $cred -NoNewWindow:$true -ArgumentList \"Start-Process powershell.exe -Verb runAs '\\MonServeur\MonPartage\MonFichier.exe'\"
[/code:1]
Pourquoi toutes ces ouverture de powershell et compagnie me direz-vous?
Et bien le but de toutes ces manœuvres est de pouvoir, depuis un poste client lancer mon fichier executable en local sur sa machine avec les crédentials adéquat. (c'est un executable qui fait une recherche de toute la configuration du poste dont les clé de registre pour vérifier que tout est OK)
Lorsque je lance mon script sans passer par php, il me lance bien mon executable mais depuis php voici le message d'erreur:
\"Start-Process : Impossible d'ex&#65533;cuter cette commande en raison de l'erreur&#65533;: De scripteur non valide. Au niveau de \\MonServeur\\MonPartage\\MonScript.ps1&#65533;: 4 Caract&#65533;re&#65533; : 14 + Start-Process <<<< powershell.exe -Credential $cred -NoNewWindow:$true -Argu mentList \"Start-Process powershell.exe -Verb runAs '\\MonServeur\MonPartage\MonFichier.exe'\" + CategoryInfo : InvalidOperation: (
J'avais réussi a résoudre le problème mais le soucis c'est que je ne retrouve plus mon bout de code T_T
Merci pour votre aide!!!
Kevios
Connexion ou Créer un compte pour participer à la conversation.
- Kevin
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
- Messages : 14
- Remerciements reçus 0
Cette utilisation est une contrainte liée à mon projet
J'ai essayé différentes manières de lancer l’exécutable mais rien de concluant...
Tout comme lancer l’exécutable depuis php n'est pas ce qui me convient puisque ça lancerais l’exécutable sur le serveur et non sur le client
Merci par avance!
Cordialement,
Kevios
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
- Messages : 6311
- Remerciements reçus 68
L'exécution d'un script sur un share nécessite de l'inclure dans Internet security zone. Vérifie si c'est également le cas pour un exécutable.Personne à d'idées pour mon problème ?
Un compte rendu détaillé de l'erreur avec Resolve-Error (dispo sur le net) sera peut être plus explicite.<br><br>Message édité par: Laurent Dardenne, à: 20/03/15 11:08
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Kevin
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
- Messages : 14
- Remerciements reçus 0
Ah! et j'utilise Powershell V.2, j'ai interdiction d'utiliser une version ultérieur pour ce projet..
Pour le Resolve-Error, j'ai un peu regardé sur le net et je ne vois pas trop comment je peux faire pour le mettre en place :/
D'après ce que j'aurais lu sur internet, l'erreur \"Descripteur non valide\" serais en rapport avec un problème de partage. serais-ce mon dossier qui est mal partagé? ou mon IIS qui ne le prends pas/mal en compte?
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
- Messages : 6311
- Remerciements reçus 68
Tu le télécharges,l'installes dans un répertoire, tu le charges en dotsource, et enfin tu l'utilises.Pour le Resolve-Error, j'ai un peu regardé sur le net et je ne vois pas trop comment je peux faire pour le mettre en place :/
Kevios écrit:
Reste à déterminer ce qu'est un descripteur dans ce contexte, un handle ? un token ?D'après ce que j'aurais lu sur internet, l'erreur \"Descripteur non valide\" serais en rapport avec un problème de partage. serais-ce mon dossier qui est mal partagé? ou mon IIS qui ne le prends pas/mal en compte?
Les messages en anglais sont souvent préférable.
Vérifie déjà si, avec le script ciblé installé en local, ta syntaxe d'appel fonctionne.<br><br>Message édité par: Laurent Dardenne, à: 20/03/15 16:37
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Kevin
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
- Messages : 14
- Remerciements reçus 0
Excuse-moi de répondre si tard, pleins de boulot etc...
Donc je me suis re-penché sur mon problème et l script s’exécute bien en local et appel comme il le faut le fichier exécutable. Tout fonctionne hors de php.
Ensuite mon start-process ne me retourne aucun code d'erreur... ou sinon je suis juste trop mauvais pour réussir à gérer les erreurs. . .
Je n'ai jamais vraiment utilisé la gestion des erreurs pour régler mes problèmes dans mes scripts (très mauvais point pour ma part d'ailleurs!)
En tout cas je n'abandonne pas! j'ai fais d'autres manips, essayé avec des start-jobs (d'autres erreurs sont apparues), rajouté la dll \"system.management.automation\" dans mon IIS etc... (même si je ne sais pas si ça à des liens ou non :/ )
Après comme mon erreur n'apparaît QUE quand je lance le script depuis php, ne faut-il pas que je regarde dans la gestion des erreurs de php? même si c'est clairement une erreur powershell? (je ne sais pas si je suis très compréhensible...)
Merci pour le temps que tu m'accorde Laurent!
Cordialement,
Kevios
Connexion ou Créer un compte pour participer à la conversation.
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les initiés
- impossible lancer script powershell via php