我正在 Windows Server 2008 上编程,我希望有一个 WebUI 来与域活动目录进行交互。
我的主要问题之一是我正在使用 HTML 表单中的 dsadd ,但这没有成功。我知道我的命令是正确的,我已经在服务器命令行上对其进行了测试
我的代码如下:
if (isset($_POST['Submit']))
{
$DesiredUsername = $_POST['DesiredUsername'];
$DesiredPassword = $_POST['DesiredPassword'];
$DU = "{$DesiredUsername}"; // Desired Username
$OU = "PHPCreatedUsers"; // Domain OU
$DC1 = "slayerserv"; // Domain Part one
$DC2 = "local"; // Domain Part Two
$PWD = "{$DesiredPassword}"; // Password
$ExecScript = 'dsadd user cn=$DesiredUsername,cn=PHPCreatedUsers,dc=slayerserv,dc=local -disabled no -pwd $DesiredPassword -mustchpwd yes';
exec($ExecScript, $output);
mysql_query("INSERT INTO addedusers (`ID`, `DU`, `OU`, `DC1`, `DC2, `PWD`)
VALUES ('', '$DU', '$OU', '$DC1', '$DC2', '$PWD')");
echo "<br><br>";
print_r($output);
# echo "User: $DesiredUsername Has been Created";
}
当我 print_r($output); 它返回一个空白数组:
大批 ( )
谁能为我提供解决方案或指出正确的方向?
++++
下面是我使用 exec 的一个工作示例
$Script = 'ping 127.0.0.1 -n 1';
exec($Script, $Output);
print_r($Output);
print_r($输出); 给出:
数组( [0] => [1] => 用 32 字节数据 Ping 127.0.0.1:[2] => 来自 127.0.0.1 的回复:字节=32 时间<1ms TTL=128 [3] => [4] => 127.0.0.1 的 Ping 统计信息:[5] => 数据包:发送 = 1,接收 = 1,丢失 = 0(0% 丢失),[6] => 以毫秒为单位的近似往返时间:[7] => 最小值 = 0 毫秒,最大值 = 0 毫秒,平均值 = 0 毫秒)