【发布时间】:2015-07-21 10:22:38
【问题描述】:
我认为这与this question 相同,但没有提供解决方案。
我有一个查询,它使用 PSExec 在配置文件服务器上进行网络会话,当从命令行输入时它工作正常,如下所示:
psexec \\profile-server -u username -p password net session
它将显示 PSExec 横幅(来自 stderr),然后是查询结果(来自 stdout)。
但是,当我从 PHP 运行它时,我只能看到 stderr 提要(发送到屏幕或文件时),但根本看不到 stdout。当我将标准输出重定向到一个文件时,该文件是空白的。
这里是 PHP:
<?php
$uname_prof = "DOMAIN-USERNAME";
$pw_prof = "DOMAIN-PASSWORD";
$ip = "PROFILE-SERVER";
$query = "psexec.exe \\\\$ip -u $uname_prof -p $pw_prof net session";
$result = exec($query, $output);
echo implode('<br>', $output);
?>
谢谢!
【问题讨论】:
-
旁注 - 如果我从 cmd 导航到 c:\xampp\php 并运行命令“php.exe filename.php”,那么它会显示标准输出正常(到 cmd 行或到文件),但同样,不是通过网络浏览器运行时。
-
试试 xcmd - feldkir.ch/xcmd.htm
标签: php batch-file psexec