我很难用ldap3库管理AD组策略。
例如,我正在添加新GPLink策略。我尝试添加属性[New-GPLink:[LinkEnabled]],但得到了一个错误。
请向我推荐以下与ldap3有关的要点:
G 212调度安装和卸载操作
尝试过的东西:
添加connection
代码:
from ldap3 import Server, Connection, ALL, ALL_OPERATIONAL_ATTRIBUTES, ALL_ATTRIBUTES, ObjectDef, Reader
server = Server("192.168.1.28", get_info=ALL)
admin_username = 'lab\\administrator'
admin_password = 'A1B1C1$'
conn = Connection(server, user=admin_username, password=admin_password, auto_bind=True)
search_base = 'dc=lab,dc=com'
search_filter = '(userPrincipalName=shakti@lab.com)'
conn.bind()
conn.search(search_base=search_base, search_filter=search_filter, attributes=attributes_groups)
new_attribute = 'New-GPLink'
d_n = 'CN=shakti,DC=lab,DC=com'
conn.add(dn=d_n,object_class='user',attributes=new_attribute)降至误差以下
TypeError Traceback (most recent call last)
<ipython-input-292-425b72018c42> in <module>
----> 1 conn.add(dn=d_n,object_class='user',attributes=new_attribute)
c:\users\ankit.g\appdata\local\programs\python\python36\lib\site-packages\ldap3\core\connection.py in add(self, dn, object_class, attributes, controls)
910
911 attr_object_class = [to_unicode(object_class) for object_class in attr_object_class] # converts objectclass to unicode in case of bytes value
--> 912 _attributes[object_class_attr_name] = reduce(lambda x, y: x + [y] if y not in x else x, parm_object_class + attr_object_class, []) # remove duplicate ObjectClasses
913
914 if not _attributes[object_class_attr_name]:
TypeError: 'str' object does not support item assignment发布于 2020-02-01 07:42:08
问题是attributes应该是字典,而不是字符串。
attributes:{‘attr2 1’:‘val1’,‘attr2 2’:‘val2’,…形式的字典}或{‘attr1 1’:‘val1’,‘val2’,…,…}用于多值属性
我不确定属性命名以及需要设置的确切值,但错误只是格式(也可能类似于{'gpLinkStatus': 1}),例如。
conn.add(dn=d_n,object_class='user',attributes={'New-GPLink':<value>})https://stackoverflow.com/questions/60002558
复制相似问题