Windows Server 2008でプログラミングしていて、ドメインのActiveDirectoryと対話するためのWebUIが必要です。
私の主な問題の1つは、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($ Output); 与える:
配列([0] => [1] => 32バイトのデータで127.0.0.1にpingを実行します:[2] => 127.0.0.1からの応答:bytes = 32 time <1ms TTL = 128 [3] => [4] => 127.0.0.1のping統計:[5] =>パケット:送信= 1、受信= 1、損失= 0(0%の損失)、[6] =>ミリ秒単位の概算ラウンドトリップ時間:[7] =>最小=0ms、最大= 0ms、平均= 0ms)