python-ldap добавляет участника к группе Active Directory

В ответе на Ваш вопрос о сертификатах наш набор - следующие

Наши серверы - все на нашей внутренней сети / домен с FQDNs, например, [xxx] .internal.lan. Однако у нас есть разделение DNS, настроенный так на наших внутренних серверах DNS, например, exchange.company.com является псевдонимом для exchange.internal.lan

Тем путем мы можем опубликовать сервер внешне через наш брандмауэр и сказать людям использовать exchange.company.com независимо от того, являются ли они в сети или снаружи.

Мы публикуем, автообнаруживают, OWA, ActiveSync и т.д.

Нам поэтому только нужен единственный Wildcard-сертификат для *.company.com, который мы используем на серверах Exchange для, например, autodiscover.company.com, exchange.company.com, и т.д. и т.д.

1
задан 31 December 2015 в 13:41
3 ответа

Я смотрел ваш код и думаю, что эта строка создает два указателя на один и тот же словарь:

old_members = new_members = dict ()

Это приведет к тому, что объект ldif будет быть равным [] при запуске этой строки:

ldif = modlist.modifyModlist (old_members, new_members)

2
ответ дан 3 December 2019 в 18:46

изменив

old_members = new_members = dict()

на

old_members = dict()
new_members = dict()
new_members['member'] = 'cn=Forename Name,ou=Users,dc=DOMAIN'

Я проверил, что все в порядке.

1
ответ дан 3 December 2019 в 18:46
from ldap3 import Server, Connection, ALL, NTLM
from elizabeth import Personal, Address,Text
from ldap3.extend.microsoft.addMembersToGroups import ad_add_members_to_groups as addUsersInGroups
import random

serverName='dc1.stand.local'
connUser="stand.lsd\\Admin"
connUserPwd=""
usersOU = 'ou=test-ou,dc=stand,dc=local'
groupsOU = 'ou=test-groups,dc=stand,dc=local'

usersDnList = []
groupsDnList = []

server = Server(serverName, get_info=ALL)
conn = Connection(server, user=connUser, password=connUserPwd, authentication=NTLM)
conn.bind() #must be TRUE

conn.add(usersOU, 'organizationalUnit') # add test-ou for users
conn.add(groupsOU, 'organizationalUnit') # add test-ou for groups

data = Text('en')
for _ in range(0,10):
    currentGroup = 'cn='+data.word()+',ou=test-groups,dc=stand,dc=local'
    groupsDnList.append(currentGroup)
    conn.add(currentGroup, 'group')

address = Address('en')
person = Personal('en')
for _ in range(0,10):
    address_country = address.country()
    conn.add('ou='+address_country+',ou=test-ou,dc=stand,dc=local', 'organizationalUnit')
    for _ in range (0,10):
        name = person.name(gender='male')
        surname = person.surname(gender='male')
        currentUser = 'cn='+name+'.'+surname+','+'ou='+address_country+',ou=test-ou,dc=stand,dc=local'
        usersDnList.append(currentUser)
        conn.add(currentUser, 'User',
        {'givenName': name,
        'sn': surname,
        'departmentNumber': 'DEV',
        'telephoneNumber': 1111})

for _ in range(0,300):
    rndUser = random.choice(usersDnList)
    rndGroup = random.choice(groupsDnList)
    addUsersInGroups(conn, rndUser, rndGroup)
0
ответ дан 3 December 2019 в 18:46

Теги

Похожие вопросы