python - 无法通过 ldap3 模块修改 'cn' 属性,Python 3.x

标签 python python-3.x active-directory python-module ldap3

我正在尝试修改 Active Directory 域中用户的“cn”属性,但是 它失败。另外,我无法在用户创建过程中添加此属性。 它显示此错误:

{'result': 67, 'description': 'notAllowedOnRDN', 'dn': '', 'message': 
'000020B1: UpdErr: DSID-030F1087, problem 6004 (CANT_ON_RDN), data 0\n\x00', 
'referrals': None, 'type': 'modifyResponse'}

我的代码:

def ad_connect():
    server = Server(ADSERVER, use_ssl=True, port=636, get_info=ALL)
    conn = Connection(server, SU_LOGIN, SU_PASS, auto_bind=True, 
                      check_names=True)
    return conn
connect = ad_connect()
...
user_dn = "CN=full.name,OU=Users,DC=test,DC=com"
cn = {'cn': (MODIFY_REPLACE, 'Full Name')} # it must be "Full Name" instead of "full.name"
connect.modify(user_dn, changes=cn) 
...
connect.unbind()

有什么办法可以进行这样的修改吗?顺便说一句,创建没有此属性的用户没有问题。

最佳答案

我明白了! ldap3 模块中有一个“modify_dn”选项。

connect.modify_dn(user_dn, NEW_DN)

关于python - 无法通过 ldap3 模块修改 'cn' 属性,Python 3.x,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48735824/

相关文章:

python - 循环树状结构

python - 父类中的 self.__dict__ 字典没有子属性?

python - importlib.reload 不会重新加载以编程方式生成的文件

Jenkins API - 是否有用于只读访问的非用户(例如基于作业)的 API token ?

powershell - 检查OU是否存在无法正常工作

python - 建议在 python 中使用独特的随机字符串生成器??

c# - 在 Robot Framework 中实例化 C# 对象

python - 从文本文件打印链接会在中间产生 "line gap"

Python 扰码器程序

windows - 访问文件夹时运行的批处理文件