无法通过 ldap3 模块修改 'cn' 属性,Python 3.x
Unable to modify 'cn' attribute via ldap3 module, Python 3.x
我正在尝试修改 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)
我正在尝试修改 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)