You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP exec调用PsExec报“The handle is invalid”问题排查求助

PHP exec()调用PsExec返回“The handle is invalid”,但直接命令行运行正常

我已经翻遍了各种论坛和Stack Overflow的帖子,折腾好几天了还是没解决这个问题,实在头大。

我写了一个极简的PHP页面来测试远程执行命令:

<?php 
exec('PsExec.exe -accepteula \\192.168.10.11 -u "administrator" -p "Ph0nYP@sSw0rd" hostname', $output, $returnVar); 
print_r($output); 
print_r('Return value is: ' . $returnVar); 
?>

这个脚本本该在目标机器192.168.10.11上执行hostname命令,但我用php.exe mypage.php运行时,始终得到如下输出:

Couldn't access 192.168.10.11: The handle is invalid.
Connecting to 192.168.10.11...
PsExec v2.2 - Execute processes remotely
Copyright (C) 2001-2016 Mark Russinovich
Sysinternals - www.sysinternals.com

我已经做了这些验证:

  • 直接在命令行运行完全相同的PsExec命令,能正常返回目标机器的主机名
  • 所用的管理员账户有权限访问目标机器192.168.10.11
  • 通过Windows的Run窗口访问\\192.168.10.11\c$,能正常浏览共享内容
  • 换成PHP的shell_exec()函数调用同样的命令,也会出现完全一样的错误

另外,运行PHP脚本时用Wireshark抓包,完全没捕获到和目标机器相关的流量,我甚至不确定PsExec是不是真的启动了。

我想搞清楚这里的“The handle is invalid”到底是什么意思,有没有进一步排查或者解决的办法?我的最终目标是通过POST请求的参数,在目标机器上执行PowerShell脚本,虽然不一定非要用当前这个方法,但我真的很好奇为什么会失败。

内容的提问来源于stack exchange,提问作者Tikiyetti

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 08:20:01