如何使用管理员权限从php脚本打开批处理文件


How to open a batch file from php script with administrator privileges

我正在WAMP测试服务器上运行phpvirtualbox-5.0-4。我想从php脚本运行以下批处理文件。。。。需要这样以管理员权限打开Windows7命令提示符(最好在后台模式)

cd /
cd C:'Program Files'Oracle'VirtualBox
Vboxmanage setproperty websrvauthlibrary null
Vboxwebsrv.exe >null

谢谢你的回答。

您需要一些东西来启动脚本(比如CRON作业)。

但是您应该使用shell命令,如下所示:

echo shell_exec("cd C:'Program Files'Oracle'VirtualBox Vboxmanage
                 setproperty websrvauthlibrary null Vboxwebsrv.exe >null");

从文件中,请注意:

Note:
This function is disabled when PHP is running in safe mode.

明白了

$test = shell_exec('C:''WINDOWS''system32''cmd.exe /c 2>&1 "H:''wamp''www''sito2''files batch''fare partire phpVirtualBox.bat"');
echo "<pre>$test</pre>";

和我的批处理文件:

@ECHO OFF
 ::Test If script has Admin Priviledges/is elevated
 AT > NUL
 IF %ERRORLEVEL% EQU 0 (
     ECHO OK ! Command prompt launched...you are Administrator !
 ) ELSE (
     ECHO you are NOT Administrator. Exiting...
     PING 127.0.0.1 > NUL 2>&1
     EXIT /B 1
 )
cd /
cd C:'Program Files'Oracle'VirtualBox'Vboxmanage setproperty websrvauthlibrary null
C:'Program Files'Oracle'VirtualBox'Vboxwebsrv.exe >null

结果!!!

shell_exec()

应该可以工作,但要使其工作,apache服务器本身必须具有执行它的管理权限。简单地说,您必须以管理员身份启动apache服务器。(在窗口中,以管理员身份运行选项)。然后,PHP中的所有exec()命令都将具有管理权限。