使用PHP Exec()命令运行WINRS / WINRM cmd

时间:2012-09-18 18:17:55

标签: php iis system exec winrm

平台详细信息:IIS7,PHP5,Windows Server 2008 服务器名称:server1

我试图使用php的exec()函数来执行具有以下命令的.bat文件:

winrs -r:server2 "C:\custom_functions.bat"

但是,当我执行该命令时,它不起作用。直接在server2上运行custom_functions.bat文件时,它工作正常,问题可能不是我的代码。我猜它的权限错误。

当我执行exec(" whoami")时,它返回" nt authority \ network service"作为用户。

如果我通过php exec()函数执行任何基本的Windows命令,例如exec(" ipconfig")或exec(" dir c:\"),它们可以正常工作。当我尝试使用WINRM在远程服务器上执行命令时,问题就出现了。我也使用了php的system()函数 - 结果相同。

请帮忙!?

1 个答案:

答案 0 :(得分:0)

要在服务器上运行命令,您需要在该服务器上进行授权。从提示中手动运行命令时,您可以通过用户帐户进行访问。

当IIS运行命令时,它作为内置用户运行,无法访问server2。

我不建议让webserver进程访问server2。