Как я создал бы запрос LDAP для AD, который возвращает всех пользователей в конкретной группе безопасности, учетные записи которой не отключены?

Вы на самом деле используете localdomain.org, или Вы используете это в качестве примера? Если бы Вы используете проблемы localdomain.org, возник бы в зависимости от того, как Вы порядок поиска DNS настраиваетесь на Ваших машинах, включая сам контроллер домена.

Необходимо будет также удостовериться, что сервер DNS имеет обратные зоны поиска, а также передайте зоны поиска. Можно хотеть рассмотреть выполнение DHCP с контроллером домена как основной DNS и другой DNS, поскольку вторичное устройство, затем в окнах DNS добавляют средства передачи к свойствам сервера DNS.

5
задан 4 August 2010 в 02:10
4 ответа

Это работает!

(&(memberOf=CN=Google Apps Users,DC=bbc,DC=pri)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))
4
ответ дан 3 December 2019 в 00:58

Похож это будет работать, но это не возьмет вложенные элементы группы:

(&
    (memberOf=CN=GApsUsers,DN=....)
    (!(userAccountControl=546))
)
4
ответ дан 3 December 2019 в 00:58
  • 1
    хорошо, "(и (memberOf=CN=Google Пользователи Приложений, DC=bbc, DC=pri) (! (userAccountControl=546)))" работы, но это все еще возвращает пользователей, которые были отключены, у меня есть два человека в той группе, один из них отключен, но ОСТРЫЕ ШИПЫ получают 2 учетных записей пользователей от этого запрос LDAP. большое спасибо –  Corey 9 August 2010 в 22:00
  • 2
    Хорошо, сделал некоторый googleing и нашел что-то, что работает на управление учетной записью “(! (userAccountControl:1.2.840.113556.1.4.803: = 2))” –  Corey 9 August 2010 в 23:04
  • 3
    Это - то, с чем я закончил тем, что шел. (И (memberOf=CN=Google Пользователи Приложений, DC=bbc, DC=pri) (! (userAccountControl:1.2.840.113556.1.4.803: = 2))) –  Corey 26 August 2010 в 16:32

близко, но

(и (objectClass=person) (! (userAccountControl=ACCOUNTDISABLE)))

должен быть

(и (objectClass=person) (! userAccountControl=ACCOUNTDISABLE))

обратите внимание на то, что я не могу действительно протестировать это от того, где я в!

1
ответ дан 3 December 2019 в 00:58

Иногда набор значений да / нет сохраняется в одном значении путем установки различных битов. Вы можете использовать битовую маску , чтобы проверить, установлены ли они.

Например, 546 в десятичном формате - это двоичное значение 10 0010 0010 - в десятичном виде сумма 512, 32 и 2. (Все эти числа являются степенями двойки, что означает, что в их двоичном представлении имеется только одна '1'): это означает, что установлены эти три значения да / нет.

Согласно документам userAccountControl это означает, что установлены следующие значения:

NORMAL_ACCOUNT (512)
PASSWD_NOTREQD (32)
ACCOUNTDISABLE (2)

Однако, например, если у вас был пользователь, у которого не было задано PASSWD_NOTREQD (так что его значение userAccountControl было 512), или тот, у которого также был DONT_EXPIRE_PASSWORD (65536) (это означает, что их значение было 66082), вы не найдете этих пользователей в своем запросе.

Что вам нужно сделать, так это использовать побитовое И , чтобы запросить значение только этого бита:

10 0010 0010
00 0000 0010
------------
00 0000 0010

Если значение этого бита равно 1, то этот бит установлен. Не имеет значения, на что установлены другие биты, поэтому вы фактически спрашиваете, userAccountControl & 2 == 2 .

Синтаксис LDAP для проверки бита с использованием AND: 1.2.840.113556.1.4 .803, поэтому вы можете увидеть, установлен ли бит ACCOUNTDISABLE с помощью (userAccountControl: 1.2.840.113556.1.4.803: = 2). Добавление (! (Foo)) вокруг него дает вам всех пользователей, которые не отключены.

поэтому вы фактически спрашиваете, userAccountControl & 2 == 2 .

Синтаксис LDAP для проверки бита с помощью AND - 1.2.840.113556.1.4.803, поэтому вы можете увидеть, ACCOUNTDISABLE Бит устанавливается с помощью (userAccountControl: 1.2.840.113556.1.4.803: = 2). Добавление (! (Foo)) вокруг него дает вам всех пользователей, которые не отключены.

поэтому вы фактически спрашиваете, userAccountControl & 2 == 2 .

Синтаксис LDAP для проверки бита с помощью AND - 1.2.840.113556.1.4.803, поэтому вы можете увидеть, ACCOUNTDISABLE Бит устанавливается с помощью (userAccountControl: 1.2.840.113556.1.4.803: = 2). Добавление (! (Foo)) вокруг него дает вам всех пользователей, которые не отключены.

7
ответ дан 3 December 2019 в 00:58

Теги

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