Platform Details: IIS7, PHP5, Windows Server 2008服务器名称:服务器 1
我正在尝试使用 php 的 exec() 函数来执行具有以下命令的 .bat 文件:
winrs -r:server2 "C:custom_functions.bat"
但是,当我执行该命令时,它不起作用。当直接在server2上运行custom_functions.bat文件时,它工作正常,因此,问题不太可能是我的代码。我猜这是一个权限错误。
当我执行exec("whoami")时,它返回"nt authorityetwork service"作为用户。
如果我通过 php exec() 函数执行任何基本的 windows 命令,例如 exec("ipconfig") 或 exec("dir c:\"),它们工作正常。当我尝试使用 WINRM 在远程服务器上执行命令时,问题就出现了。我也使用了 php 的 system() 函数 - 结果相同。
请帮忙!?
若要在服务器上运行命令,需要在该服务器上进行授权。从提示符手动运行命令时,可以通过用户帐户进行访问。
当 IIS 运行该命令时,它将作为无权访问 server2 的内置用户运行。
我不建议让网络服务器进程访问服务器 2。