繁体   English   中英

如何在 python 中使用 ldap3 库管理 GroupPoliciy?

[英]How to Manage GroupPoliciy using ldap3 library in python?

我无法使用 ldap3 库管理 AD 服务器组策略。

例如,我正在添加New-GPLink策略。 我试图添加一个属性[New-GPLink:[LinkEnabled]]但出现错误。

请建议我使用 ldap3 的以下几点:

  1. 如何在 AD 服务器中添加组策略
  2. 如何删除 AD 服务器中的组策略
  3. 如何在 AD 服务器中修改组策略
  4. 是否可以使用 ldap3 库来安排安装和卸载操作

尝试的事情:

  1. 添加连接
  2. 搜索用户
  3. 添加 GroupPolicy 属性。

代码 :

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

问题是attributes应该是字典,而不是字符串。

attributes : 形式为 {'attr1': 'val1', 'attr2': 'val2', ...} 或 {'attr1': ['val1', 'val2', ...], ...} 的字典,用于多值属性

我不确定属性命名以及您需要准确设置的值,但错误仅与格式有关(也可能类似于{'gpLinkStatus': 1} ),例如。

conn.add(dn=d_n,object_class='user',attributes={'New-GPLink':<value>})

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM