感谢您花时间阅读我的问题,让我们直接了解它。
我的最终(目标)是能够拥有一个基于Web的PHP应用程序,该应用程序允许用户修改网络内用户的活动目录。
我找到了需要通过Powershell运行的命令来更改活动目录中的用户密码。
现在这是我目前的设置:
我尝试添加代码:
$query = shell_exec('Import-Module ActiveDirectory');
$query = shell_exec('$newpwd = ConvertTo-SecureString -String "'.$safe_password.'" -AsPlainText –Force');
$query = shell_exec('Set-ADAccountPassword "'.$safe_username.'" -NewPassword $newpwd –Reset');
现在我的问题是:
1)一旦计算机运行该页面并执行了那些命令,命令是否会在主服务器中执行?其中安装了PowerShell并授予了权限。如果没有,我的整个应用程序都无法运行,还有其他解决方案吗?
2)这些命令都是powershell命令而不是cmd.exe命令。 shell_exec()甚至在powershell中运行这些命令,或者只在cmd.exe中运行。如果它只在cmd中运行,那么这不会工作,我怎样才能通过powershell运行它?
如果你能回答并帮助我,我将不胜感激,非常感谢。
答案 0 :(得分:0)
在PowerShell中设置参数,如下所示:
Param([string]$username, [string]$password)
然后像这样调用你的脚本:
shell_exec("powershell.exe " . $psscriptpath . " -username \"" . $username . "\" -password \"" . $password . "\"");