У меня есть команда Powershell, которую я могу запустить нормально, и она будет запускать приложение HTA на удаленном сервере, если я запускаю его с powershell, он работает с 0 проблемами.Когда я пытаюсь вызвать ту же команду через shell_exec
в php, приложение запускается, как я вижу, в интерактивном режиме, но аргументы передаются без кавычек, которые hta не распознает.Мне нужна помощь, чтобы выяснить, как передать кавычки вокруг переменных.
Также у меня вставлено -NoExit
для устранения неполадок, поэтому окно PowerShell не закрывается.
Еще одно примечание, когда я выхожу на экран $runCMD2;
Оно отлично отформатировано, как будто я собираюсь скопироватьи вставьте его в окно powershell
Следующий код PHP запускает окно, но не передает 2 аргумента:
function buildPackage()
{
$serverName = "\\\\server";
$msiName = '"MSI_test_name_goes_here"';
$installDir = '"D:\\some\\needed\\path\\"';
$runCMD2 = 'start powershell.exe -NoExit psexec -accepteula -s -i 2 '.$serverName.' cmd /c D:\path\to\my.hta '.$msiName.' '.$installDir;
echo $runCMD2;
$execCMD = shell_exec("$runCMD2");
//Begin Building
echo "Starting Build...<br>";
echo $execCMD;
echo "Build Complete";
}