从cmd以完全权限启动程序

时间:2017-03-22 01:51:48

标签: php windows cmd permissions exec

我有一个名为app.exe的应用程序它在同一个文件夹c:\中创建一个名为account.txt的文件,问题是当我从php exec函数或cmd运行程序时,account.txt文件没有创建 我认为问题来自权限。

Run From:发生了什么

Manualy执行并创建了文件account.txt

PHP exec已执行但未创建account.txt

CMD已执行,但未创建account.txt

for php我用:

exec("C:\\windows\\system32\\cmd.exe /c START c:\app.exe");

对于cmd我使用:

START C:\app.exe

2 个答案:

答案 0 :(得分:1)

需要提升的程序应在其manifest中指定。这对PHP问题没有帮助,特别是如果这是一个使用PHP的Web服务器。如果不显示UAC UI,则无法提升。

我不知道在Cmd中执行某些操作时请求提升的简单方法。您可能只需要启动Cmd(右键单击和“以管理员身份运行”)。

PHP可能以不同的用户身份运行,但您向我们提供了有关您的设置的零信息,因此我不知道。

在不了解app.exe或Windows版本或一般配置的情况下,很难给出具体的建议。

如果要确认它是权限问题,可以尝试运行Process Monitor,以便了解文件操作失败的原因。

答案 1 :(得分:0)

您应该能够使用runas命令

runas /profile /user:*admin user here* “*path to program here*” 

然后会提示您输入该用户密码,之后应以管理员身份运行。