首页新闻找找看学习计划

php 修改 AD域用户密码

0
悬赏园豆:100 [已关闭问题] 关闭于 2018-07-16 08:34

需求:通过PHP代码,使用AD域超级管理员账号(administrator) 修改指定AD域下用户(如:张三)的用户密码。

代码如下:

$base_dn = "OU=叉叉公司,DC=chacha,DC=com";
$connect = ldap_connect("192.168.3.11") or die('连接失败!'); //连接服务器
ldap_set_option($connect, LDAP_OPT_PROTOCOL_VERSION, 3);
$ldapbind = ldap_bind($connect, 'chacha\administrator', 'chacha123');
$search = ldap_search($connect, $base_dn, "(sn=张三)"); //根据uid获取到用户的信息
$dn = ldap_get_entries($connect, $search);

for ($i = 0; $i < $dn["count"]; $i++) { //从获取到的数组取出用户dn,没有用户dn修改不了密码。
$user_dn = $dn[$i]["dn"];
}
//$bind = ldap_bind($connect, $user_dn, $user_pass); //登录验证
$values["unicodePwd"] = "{SHA}" . base64_encode(pack("H*", sha1('chacha234'))); //密码sha1加密
$rs = ldap_mod_replace($connect, $user_dn, $values); //更新用户信息
if ($rs) {
$msg = "修改成功!";
} else {
$msg = "修改失败,请与XX联系!";
}
echo $msg;
ldap_close($connect); //关闭连接

问题:一直报错,修改不成功,Warning: ldap_mod_replace(): Modify: Server is unwilling to perform 。

请问各位大神,有谁知道怎么处理么?

问题补充:

help

JimmyLzy的主页 JimmyLzy | 菜鸟二级 | 园豆:202
提问于:2018-07-05 16:36

使用网络搜索解决方案都是14年左右的问题,好老的方案。

JimmyLzy 1年前
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册