【发布时间】:2017-06-20 08:37:49
【问题描述】:
我试图在 AD 中创建组但没有成功,下面是我的代码:
import ldap
import ldap.modlist as modlist
LDAPserver = 'hidden'
LDAPlogin = 'hidden'
LDAPpassword = 'hidden'
l = ldap.initialize('ldap://' + LDAPserver)
l.simple_bind_s(LDAPlogin, LDAPpassword)
dn = 'OU=someunit,OU=someunit,OU=someunit,OU=someunit,DC=my-company,DC=local'
attrs = {}
attrs['objectclass'] = ['top','Group']
attrs['cn'] = 'group name to be created'
attrs['description'] = 'Test Group'
ldif = modlist.addModlist(attrs)
l.add_s(dn,ldif)
l.unbind_s()
跟随 sn-p 给我一个错误:
ldap.INSUFFICIENT_ACCESS: {'info': '00000005: SecErr: DSID-031521D0, problem 4003
(INSUFF_ACCESS_RIGHTS), data 0\n', 'desc': 'Insufficient access'}
但是,使用相同的凭据,我可以使用一些 UI 工具创建组,例如 LDAP Admin
所以我想我有适当的权限来创建组,但 python-ldap 仍然没有成功。
我还可以通过脚本查询现有组并获取其成员。
我认为问题出在我的属性上,也许 Active Directory 需要将一些不同的值插入到 attrs 变量中。 AD 在 Win Server 2012 R2 下运行。
任何帮助将不胜感激:)
【问题讨论】:
标签: python active-directory python-ldap