如何使用ldap3修改通用时间属性

时间:2018-06-08 12:55:37

标签: python-3.x ldap3

如何通过modify_replace和ldap3修改通用时间属性?

如果我尝试:

reset_time = datetime.datetime(1970,1,1, tzinfo=datetime.timezone.utc)
c.modify(dn, {'myGeneralizedTimeAttribute': [(MODIFY_REPLACE, [reset_time])]})

我收到以下python错误:TypeError: 'datetime.datetime' object is not iterable

然后我尝试:c.modify(dn, {'myGeneralizedTimeAttribute': [(MODIFY_REPLACE, [(reset_time,)])]})并获取TypeError: 'datetime.datetime' object cannot be interpreted as an integer

之后我将datetime转换为timestamp并获得ldap错误:

{'result': 19, 'dn': '', 'type': 'modifyResponse', 'message': 'NDS error: syntax violation (-613)', 'description': 'constraintViolation', 'referrals': None}

我认为解决方案非常简单,但我没有看到它......

1 个答案:

答案 0 :(得分:0)

通过将 reset_time 替换为字符串来解决问题:

reset_time = '19700101010000Z'