Запустите скрипт powershell с клиентского компьютера - PullRequest
0 голосов
/ 21 февраля 2020

У меня есть требование запускать скрипт powershell с клиентского компьютера всякий раз, когда они нажимают на кнопку, размещают веб-сайт с помощью XAMPP и помещают все необходимые файлы в папку htdocs,

<form action="site.php" method="post"> 
  <input type="submit" name="getprocess" class="btn btn-default" value="Prototype"/> 
</form> </li>

<?php

if(array_key_exists('getprocess', $_POST)) { 
  GetProcess(); 
} 

function GetProcess() { 
  echo Shell_Exec ('powershell.exe -executionpolicy bypass -NoProfile -File ".\myscript.ps1"');
  //echo Shell_Exec ('powershell.exe -executionpolicy bypass -NoProfile -Command "Get-Process | ConvertTo-Html"');
}

Но сценарий Запустив веб-сервер, если мы нажмем кнопку прототипа со стороны клиента, пожалуйста, предложите мне, если что-то нужно изменить, чтобы скрипт запускался прямо с клиентского компьютера

Ответы [ 2 ]

0 голосов
/ 21 февраля 2020

Это может помочь нам использовать команду exe c для выполнения R-файла следующим образом

$invoirment_vars = 'export R_LIBS="/usr/lib64/R/library"; export R_LIBS_USER="/usr/lib64/R/library"; export PATH=$PATH:/usr/bin/;';

$rfile = 'abc.R';
$rdir = '/var/www/domainnam.com/htdocs/rdir';
$exe_command = "cd $rdir && Rscript " . $rfile;

exec($invoirment_vars . $exe_command);

, поэтому вы также можете попытаться отправить переменные окружения в соответствии с вашей системой

0 голосов
/ 21 февраля 2020

Вы не можете открыть скрипт на клиенте с веб-сайта. Это было бы огромной дырой в безопасности!

Вот что вы можете сделать вместо этого:

Используйте команду PowerShell «Invoke-Command» для выполнения сценария с сервера на клиентах. Подробнее здесь: https://docs.microsoft.com/en-us/powershell/scripting/learn/remoting/running-remote-commands?view=powershell-7

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...