我只是無法弄清楚我做錯了什麼,我已經搜遍網絡尋找答案,但找不到任何有效的東西。請有人看看我的代碼,並告訴我哪裏出錯了?如果我註釋掉「objectclass」,我得到「服務器不願意執行53」,如果我將OU改爲愚蠢的($ dn),那麼我得到「命名衝突」,如果我搗碎鍵盤並隨機輸入即使沒有我輸入的東西的部分存在,用戶的名字仍然會「已經存在」錯誤。如果我爲同一個OU中的另一個CN添加ldap_mod_replace行,它可以正常工作,因此我知道連接正在工作。我已經嘗試了所有除了objectclass之外的'[0]'(正如我在所有示例中所見)。公司和用戶信息編輯明顯。ldap_add在PHP返回「已經存在68」的錯誤
$server = "ldap://ServerName.domain.co.uk";
$dn = "OU=Advertising,OU=EmailDepartmentAccounts,OU=Administration,OU=Central,DC=domain,DC=co,DC=uk";
//domain user to connect to LDAP
$user = "[email protected]";
//user password
$psw = "Password";
$ds = ldap_connect($server);
if ($ds) {
ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3);
ldap_set_option($ds, LDAP_OPT_REFERRALS, 0);
$r = ldap_bind($ds, $user, $psw);
$proxyaddresses_array = array();
$proxyaddresses_array[0] = "X400:c=GB;a= ;p=Company Name p;o=PWEXCHANGE;s=Kitbag;g=Digital;";
$proxyaddresses_array[1] = "SMTP:[email protected]";
$proxyaddresses_array[2] = "smtp:[email protected]";
//$NewUser = array();
$NewUser["cn"][0] = "Test Maff1";
$NewUser["userprincipalname"][0] = "[email protected]";
$NewUser["samaccountname"][0] = "Test.Maff";
$NewUser["objectClass"][0] = "top";
$NewUser["objectClass"][1] = "person";
$NewUser["objectClass"][2] = "organizationalPerson";
$NewUser["objectClass"][3] = "user";
//$NewUser["givenname"][0] = "Test";
//$NewUser["sn"][0] = "Maff";
//$NewUser["instancetype"][0] = 4;
//$NewUser["physicaldeliveryofficename"][0] = "Leeds";
//$NewUser["displayname"][0] = "Test Maff";
//$NewUser["proxyaddresses"] = $proxyaddresses_array;
//$NewUser["department"][0] = "IT";
//$NewUser["company"][0] = "Company Name";
//$NewUser["homemta"][0] = "CN=Microsoft MTA,CN=STH-EXC-01B,CN=Servers,CN=BSP,CN=Administrative Groups,CN=Johnston Press plc,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=domain,DC=co,DC=uk";
//$NewUser["displaynameprintable"][0] = "Test Maff";
//$NewUser["mailnickname"][0] = "Test.Maff";
//$NewUser["useraccountcontrol"][0] = "512";
//$NewUser["primarygroupid"][0] = "513";
//$NewUser["name"] [0]= "Test Maff";
$NewUser["objectcategory"][0] = "CN=Person,CN=Schema,CN=Configuration,DC=domain,DC=co,DC=uk";
//$NewUser["mail"] = "[email protected]";
if ($NewUserAdded = ldap_add($ds, $dn, $NewUser)) {
echo "success<br />";
} else {
echo ldap_error($ds) . " " . ldap_errno($ds);
}
ldap_close($ds);
} else {
echo "unable to connect to LDAP server";
}
非常感謝你,像一個魅力工作 – Maff