我使用IIS服务器,我想执行一些shell命令,但不知道究竟是什么问题
例如,你想设置时间,或者创建一个新用户,或者其他什么,什么都不做(返回null)
<?php
$output = shell_exec("time 11:50 PM");
echo '<pre>';
print_r($output);
echo '</pre>';
?>
我想显示连接的用户名,看看是否具有管理员权限。
"echo %username%"
返回的不是我的用户名,而是"COMPUTERNAME-PC$"
如何以管理员身份运行shell命令?
简短的回答是你不能,因为它现在的配置。您只能使用应用程序池标识。您更有可能使用NETWORK SERVICE
用户,这就是为什么您将PC名作为用户名。
解决方案是将应用程序池标识更改为具有所需权限的用户。但是,如果启用了用户帐户控制(UAC),并且您运行需要提升的命令(听起来像是您想要做的),则仍然可能遇到问题。