相关疑难解决方法(0)

Python LDAP写入Active Directory的属性

我能够通过python-ldap绑定和查询Active Directory,除了在AD上添加或修改属性之外没有任何问题.我可以添加属性,但编码似乎已关闭,因为所有文本都是乱码.

我尝试用utf8编码我的字符串和其他几个没有运气的字符串.

我还尝试使用域管理员帐户绑定以及绑定到我将更改属性的用户帐户,无论如何都是相同的结果.

这是我用来更新属性的方法:

LdapHelpers类:

def __init__(self):
    import ldap

    # set globals
    self.server = 'LDAP://dc.mycompany.com'
    self.admin_dn = 'CN=Administrator,CN=users,DC=mycompany,DC=com'
    self.admin_pass = 'coolpassword'

    # init LDAP connection
    #ldap.set_option(ldap.OPT_X_TLS_REQUIRE_CERT, 0)
    ldap.set_option(ldap.OPT_REFERRALS, 0)
    ldap.set_option(ldap.OPT_X_TLS_REQUIRE_CERT, ldap.OPT_X_TLS_NEVER)
    ldap.protocol_version = ldap.VERSION3
    self.ldap = ldap.initialize(self.server)

def update_attribute(self, attrib, value):
    try:
        import ldap
        conn = self.ldap
        conn.simple_bind_s(self.admin_dn, self.admin_pass)
        mod_attrs = [( ldap.MOD_REPLACE, "mobile", "6306564123")]

        # I have tried other variations of the above
        # mod_attrs = [( ldap.MOD_REPLACE, "mobile", "6306564123".encode('utf-8)]

        conn.modify_s('CN=Mike Smith,OU=GoogleApps,DC=company,DC=com', mod_attrs)
        print 'record updated'

    except ldap.LDAPError …
Run Code Online (Sandbox Code Playgroud)

python python-2.7 python-ldap

5
推荐指数
1
解决办法
1927
查看次数

如何设置Active Directory用户的锁定时间和密码

我想更改AD用户的userAccountControl和密码。用户已经在AD中创建。该用户是在AD中使用python-ldap模块创建的,处于“禁用”状态且没有密码。

AD托管在win2k8R2上。

当我使用pythion-ldap脚本更改uac和密码时,抛出以下错误:

ldap://192.168.254.1:389
(97, [])
Traceback (most recent call last):
  File "C:\workspace\utils\src\u.py", line 16, in <module>
    l.modify_s(dn, mod_attrs)
  File "C:\Python26\lib\site-packages\ldap\ldapobject.py", line 336, in modify_s
    return self.result(msgid,all=1,timeout=self.timeout)
  File "C:\Python26\lib\site-packages\ldap\ldapobject.py", line 436, in result
    res_type,res_data,res_msgid = self.result2(msgid,all,timeout)
  File "C:\Python26\lib\site-packages\ldap\ldapobject.py", line 440, in result2
    res_type, res_data, res_msgid, srv_ctrls = self.result3(msgid,all,timeout)
  File "C:\Python26\lib\site-packages\ldap\ldapobject.py", line 446, in result3
    ldap_result = self._ldap_call(self._l.result3,msgid,all,timeout)
  File "C:\Python26\lib\site-packages\ldap\ldapobject.py", line 96, in _ldap_call
    result = func(*args,**kwargs)
ldap.UNWILLING_TO_PERFORM: {'info': '00002077: SvcErr: DSID-031903A4, problem 5003 (WILL_NOT_PERFORM), data 0\n', 'desc': 'Server is unwilling …
Run Code Online (Sandbox Code Playgroud)

python-ldap

3
推荐指数
1
解决办法
2211
查看次数

标签 统计

python-ldap ×2

python ×1

python-2.7 ×1