Exécuter script PowerShell en PHP

Fermé
kevy - 7 mars 2022 à 02:51
 kevy - 7 mars 2022 à 10:32
Bonjour,

On saisi un formulaire et les données sont envoyé en tant que paramètre dans le script PowerShell.

Mais ça me renvoi NULL à chaque fois.

Code PHP
           $varia = $this->request->getParameter('variable'); # Récupére le POST
            $script = $_SERVER['DOCUMENT_ROOT']."/site/modules/Script/requete.ps1";
            $result = Shell_Exec("powershell -file $script -variable '$varia'  < NUL");


Code Powershell

param(
[string]$variable
)

Write-Output $variable


Merci pour votre aide.
A voir également:

2 réponses

jordane45 Messages postés 38346 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 décembre 2024 4 717
7 mars 2022 à 09:38
Essayes ça et dis nous ce que ça t'affiche
$varia = $this->request->getParameter('variable'); # Récupére le POST
$script = $_SERVER['DOCUMENT_ROOT']."/site/modules/Script/requete.ps1";
if(!empty($varia)){
  $cmd = "powershell -file $script -variable '$varia'  < NUL";
  echo $cmd . PHP_EOL; // le temps des tests..
  $escaped_command = escapeshellcmd($cmd);
  echo $escaped_command . PHP_EOL; // le temps des tests..
  $result = Shell_Exec($escaped_command);
}else{
  echo "La variable est vide !" . PHP_EOL;
} 

 


.
1
D'accord.
Merci
0
jordane45 Messages postés 38346 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 décembre 2024 4 717
7 mars 2022 à 06:39
Bonjour
Pour commencer.. tu utilises un framework php ? Lequel ?
Ensuite, fais un var_dump de ta variable pour voir ce qu'elle retourne.
Et puis, as tu essayé d'appeler ton script powershell à la main pour voir si ta ligne de commande est exacte ?

-1