gpt4 book ai didi

PHP Shell_exec - Powershell 未运行

转载 作者:搜寻专家 更新时间:2023-10-31 21:51:58 24 4
gpt4 key购买 nike

我正在尝试运行这个:

shell_exec("powershell -File C:\inetpub\wwwroot\altirisinstall\startinstall.ps1 $computername > /dev/null &");

只要我删除它就可以正常工作:

/dev/null &

但是,这会使网站暂停并等待脚本完成。当我包含它时,脚本永远不会运行。

我也试过这个,它也停止了 ps1 的运行:

/dev/null 2>&1 &

编辑:我需要一种方法让我的 php 在 Windows 服务器上运行 powershell 脚本而不是等待响应。等待导致我的网站挂起并阻止用户运行新命令。我研究并找到了上述解决方案,但有人指出那些是针对 linux 服务器的。有没有其他方法可以执行我的 powershell 脚本而不是等待响应?

编辑2:我现在根本无法启动 powershell,sql 命令运行正常并且页面刷新,但是 powershell 永远不会运行,这是代码:

<?php
if(isset($_POST['Submit'])) {
$connectionInfo = array( "Database"=>"database", "UID"=>"username", "PWD"=>"password");
$conn = sqlsrv_connect( "server", $connectionInfo);
$params = array();
$username = $_SERVER['AUTH_USER'];
$computername = $_POST['CName'];
$time = date("m/d - g:i a");
$sql2 = "INSERT INTO dbo.Installs (Hostname, Status, Username, Time) VALUES (?, ?, ?, ?)";
$var = array($computername, "InProgress", $username, $time);
sqlsrv_query($conn, $sql2, $var);
sqlsrv_close($conn);

shell_exec("powershell.exe -File C:\inetpub\wwwroot\altirisinstall\startinstall.ps1 $computername");
sleep(5);

header("Refresh:0");
}
?>

最佳答案

这个问题没有解决方案。这是 IIS 中的一项安全措施,我不想花时间尝试绕过它。我为此走了一条不同的路,感谢所有帮助。

关于PHP Shell_exec - Powershell 未运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40108352/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com