1

如何使用 ldap3 通过 modify_replace 修改广义时间属性?

如果我尝试:

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

之后我将日期时间转换为时间戳并得到 ldap 错误:

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

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

4

1 回答 1

0

通过用字符串替换reset_time解决了这个问题:

reset_time = '19700101010000Z'

于 2018-06-11T08:45:21.133 回答