Получить все имена AD-GROUP в LDAP, используя python. (Не ищите, чтобы получить членов группы) - PullRequest
0 голосов
/ 07 апреля 2020

Я пытаюсь получить все имена AD-GROUP, используя python из LDAP. используя библиотеку "ldap3" python.

Мне не удалось найти способ справиться с использованием python. Пожалуйста, дайте мне знать, если у вас, ребята, есть идея получить его.

Я могу получить ВСЕ доступные группы AD, используя «Power Shell» с помощью простой команды. и сохранение в файл.

Код Powershell:

$op = @()

#This below line doing everything I need.
$ADGROUPS = GET-ADGroup -Filter *

#Then filtering what I need.
foreach($grp in $ADGROUPS)
{
    $g = "" | Select "name", "dn", "member"
        $g.name = $grp.name
        $g.dn = $grp.distinguishedName
        $g.member = $grp.member

    $op += $g
}

# Saving to csv file.
$op | Export-Csv "groups.csv"

Мне нужно то же самое в python.

Для извлечения в python для других целей, Я использую этот поток. Но для поиска групп я не получаю.

from ldap3 import Server, Connection, ALL
ldap_conn = Connection(server, ... bla bla)
ldap_conn.search(
    search_base=my_dn,
    search_filter= '(????)', # required
    search_scope=ldap3.SUBTREE,
    attributes='*'
)

Может ли кто-нибудь помочь мне или подобному ему найти все имена AD-GROUP?

1 Ответ

0 голосов
/ 01 мая 2020

Скорее всего, вы можете начать с фильтра:

'(objectClass=group)'

Но вы также можете выполнить дополнительную фильтрацию в зависимости от типа группы. например.

'(&(objectClass=group)(groupType:1.2.840.113556.1.4.803:=8))'

должны получить все универсальные группы. Возможно, вам придется проверить другие биты, если вы, например, хотели включить или исключить группы безопасности. Посмотрите на сайты, которые разбивают битовое поле атрибутов, таких как groupType, чтобы увидеть, можете ли вы фильтровать то, что вам нужно. Например, этот сайт:

https://ldapwiki.com/wiki/GroupType

...