0

我正在尝试编写一个基于 python-3 的程序,该程序可以每天左右刷新活动目录组的成员。问题是,我有:

Security group : cn=groupName, ou=Groups, ou=department, dc=some, dc=company,dc=com
User group: ou=Users, ou=department, dc=some, dc=company, dc=com

用户在组中的成员资格可以根据某些标准过期。所以我必须要

  1. 每天首先从组中删除所有成员
  2. 根据条件检查用户组中的每个用户,如果满足条件,则添加为组成员。

我浏览了 ldap3 教程,但找不到与成员添加/删除相关的任何内容。

你能告诉我任何我可以使用的python库或代码示例会有很大帮助吗?

4

2 回答 2

3

您需要在 Active Directory 服务器上启用 LDAP。

然后你应该能够使用ldap3Python 来做你想做的事,没问题。

看看ldap3.Connection.extend.microsoft那里你会发现两种方法:add_members_to_groups()remove_members_from_groups()

此处记录了它们的用法。

让你开始的东西:

import ldap3

server = ldap3.Server('ldap.example.com')
conn = ldap3.Connection(server, user='user', password='password', auto_bind=True)

conn.add('cn=jsmith,cn=Users,dc=example,dc=com', 'user', {'sAMAccountName': 'jsmith', 'userPrincipalName': 'jsmith', 'givenName': 'John', 'sn': 'Smith'})
conn.extend.microsoft.add_members_to_groups('cn=jsmith,cn=Users,dc=example,dc=com', 'cn=My Group,cn=Users,dc=example,dc=com')

conn.unbind()

所做的只是创建一个用户并将其添加到组中。

于 2017-08-26T13:56:45.370 回答
0

我能够使用 Pyad 库成功地将用户添加到 AD 组。完整的文档可以在这里找到。以下是将用户列表添加到 AD 组的示例。

from pyad import aduser
from pyad import adgroup

## Set AD Group Values (values derived from CN or Common Name of the AD Group)
test_group = "xxxxx-YYYYY-TEST-ZZZZ"

## Create List of Code IDs to be added
code_list = ["123456", "234567", "345678"]

## Add Users to TEST AD Group using the Pyad library
for user in code_list:  
    users = aduser.ADUser.from_cn(user)
    test_group = adgroup.ADGroup.from_cn(test_group)
    test_group.add_members(users)
于 2020-10-12T18:24:45.323 回答