【问题标题】:Enable Active Directory user account using ldap python使用 ldap python 启用 Active Directory 用户帐户
【发布时间】:2014-12-02 05:26:49
【问题描述】:

我在 python 中使用 ldap 模块将用户添加到 Microsoft 2012 Active Directory。由于我能够成功地将用户添加到 AD,用户会在下次登录和帐户时添加为禁用选项。我尝试了很多选项来启用该帐户,但无法这样做。在创建用户时尝试启用帐户的选项,但这也不起作用。尝试了修改功能,但仍然没有运气。任何人都可以建议绕道解决上述问题吗?在此先感谢

【问题讨论】:

    标签: python active-directory ldap windows-server-2012


    【解决方案1】:

    条目创建后需要修改,设置userAccountControl属性。

    userAccountControl 属性是位标志。

    可以设置几个不同的enabled 状态。

    1. 512 - 是默认启用的帐户
    2. 67048 - 是一个密码不会过期的启用帐户

    【讨论】:

    • 非常感谢。我收到ldap3.core.exceptions.LDAPAttributeError: invalid attribute type userAccountControl 有什么想法吗?
    【解决方案2】:

    在启用 Active Directory 帐户之前,请检查以下项目:

    • 确保 userPrincipleName 属性已设置,与电子邮件相同!
    • 确保已设置密码。如果没有,您可以通过修改 userAccountControl=544 而不是 userAccountControl=512userAccountControl=67048 来启用用户。

    然后你可以使用下面的示例代码来启用用户:

    from ldap3 import Server, Connection, MODIFY_REPLACE
    
    server = Server('ldap://hostname', 389, use_ssl=False)
    connection = Connection(server, user='DOMAIN/Administrator', password='AdminPass', auto_bind=True)
    connection.modify(distinguishedName, {'userAccountControl': (MODIFY_REPLACE, [544])})
    connection.modify(distinguishedName, {'userAccountControl': (MODIFY_REPLACE, [512])}) # for users' who have password.
    connection.unbind()
    

    【讨论】:

    • 非常感谢。我收到ldap3.core.exceptions.LDAPAttributeError: invalid attribute type userAccountControl 有什么想法吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多