distinguished name что это

Distinguished name что это

Всем привет, сегодня расскажу как узнать Distinguished Name в Active Directory с помощью LDP. Что такое Distinguished Name в Active Directory уже ранее было рассказано, это азы азов, любой системный администратор, просто обязан это знать, особенно у кого на работе есть домен. Методов есть много, сегодня это встроенный редактор LDP, он не такой конечно дружелюбный как AdsiEdit, но зато имеет ряд функциональных отличий, которые могут быть просто не заменимы.

Для того чтобы открыть ADSI редактор нажимаем сочетание клавиш Win+R и пишем LDP

Как узнать Distinguished Name в Active Directory с помощью LDP-01

Открывается консоль LDP

Как узнать Distinguished Name в Active Directory с помощью LDP-02

Как узнать Distinguished Name в Active Directory с помощью LDP-03

Указываем ваш контроллер домена, тут вы можете ввести либо доменное имя, либо Ip адрес, порт оставляем по умолчанию 389.

Как узнать Distinguished Name в Active Directory с помощью LDP-04

Далее делаем привязку Подключение-Привязка

Как узнать Distinguished Name в Active Directory с помощью LDP-05

Если ваш текущий пользователь имеет права оставляем как есть либо указываем данные учетной записи имеющей права.

Как узнать Distinguished Name в Active Directory с помощью LDP-06

Далее идем Вид-Дерево

Как узнать Distinguished Name в Active Directory с помощью LDP-07

Выбираем куда цепляться, можно выбрать корень.

Как узнать Distinguished Name в Active Directory с помощью LDP-08

Выбираем в иерархии нужный объект и видим его DN

Как узнать Distinguished Name в Active Directory с помощью LDP-09

Вот так вот просто узнать Distinguished Name в Active Directory с помощью LDP.

Источник

X500Distinguished Name Класс

Определение

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

Представляет различающееся имя сертификата X.509. Этот класс не наследуется.

Примеры

Приведенный ниже пример кода показывает, как использовать класс X500DistinguishedName.

Комментарии

Этот класс похож на расширение SubjectName IssuerName свойства или, которое является именем лица или сущности, к которой выдается сертификат. X. 500 — это Международный стандарт для распределенных служб каталогов. Различающееся имя имеет следующий формат:

[X500:/C = Каунтрикоде/O = организация/подразделение = Организатионунит/CN = CommonName]

Применяются следующие ограничения длины полей:

Поле Ограничение длины
CountryCode 2 символа
Организация До 64 символов
организатионунит До 32 символов
CommonName До 64 символов

Применяются следующие правила.

Значения полей могут быть прописными или строчными буквами.

Разделители являются знаками косой черты (/) и должны располагаться перед первым значением и между последовательными значениями.

За разделителями может следовать пробел.

Ниже приведен пример правильно отформатированного имени: [X500:/ C = US/O = Microsoft/OU = WGA/CN = Тедст]

Конструкторы

Инициализирует новый экземпляр класса X500DistinguishedName, используя указанный объект AsnEncodedData.

Инициализирует новый экземпляр класса X500DistinguishedName с использованием информации из указанного массива байтов.

Инициализирует новый экземпляр класса X500DistinguishedName с использованием информации из предоставленных данных.

Инициализирует новый экземпляр класса X500DistinguishedName с использованием информации из указанного строки.

Инициализирует новый экземпляр класса X500DistinguishedName с использованием указанной строки и флага X500DistinguishedNameFlags.

Инициализирует новый экземпляр класса X500DistinguishedName, используя указанный объект X500DistinguishedName.

Свойства

Получает различающееся имя с разделителями-запятыми из сертификата X500.

Получает или задает значение Oid для объекта AsnEncodedData.

Получает или задает данные в кодировке ASN.1, представленные в массиве байтов.

Методы

Копирует информацию из объекта AsnEncodedData.

Определяет, равен ли указанный объект текущему объекту.

Возвращает форматированную версию различающегося имени сертификата X500 для печати или вывода в текстовое окно или на консоль.

Служит хэш-функцией по умолчанию.

Возвращает объект Type для текущего экземпляра.

Создает неполную копию текущего объекта Object.

Возвращает строку, представляющую текущий объект.

Источник

Distinguished name что это

Всем привет сегодня расскажу, как узнать Distinguished Name в Active Directory с помощью Adsiedit. Что такое Distinguished Name в Active Directory уже ранее было рассказано. Методов есть много, сегодня это встроенный редактор Adsiedit, удобно тем, что он уже является частью операционной системы Windows Server, как говорят, прямо из коробки и плюс у него очень дружелюбный интерфейс по сравнению с LDP, где человеку не нужно блуждать по дебрям LDAP. Я если честно советую использовать именно его.

Для того чтобы открыть ADSI редактор нажимаем сочетание клавиш Win+R и пишем adsiedit.msc

Как узнать Distinguished Name в Active Directory с помощью Adsiedit-01

или открываем панель управления-Администрирование-Редактирование ADSI

Как узнать Distinguished Name в Active Directory с помощью Adsiedit-02

Откроется оснастка Редактирование ADSI

Как узнать Distinguished Name в Active Directory с помощью Adsiedit-03

Щелкаем правым кликом и выбираем подключиться к

Как узнать Distinguished Name в Active Directory с помощью Adsiedit-04

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

Как узнать Distinguished Name в Active Directory с помощью Adsiedit-05

Видим, привычную нам древовидную структуру, находим нужный нам объект Active Directory и выбираем его свойства, через правый клик мыши.

Как узнать Distinguished Name в Active Directory с помощью Adsiedit-06

и видим нужное нам поле, в значении указан полный путь до объекта.

Как узнать Distinguished Name в Active Directory с помощью Adsiedit-07

Вот так вот просто Distinguished Name в Active Directory с помощью Adsiedit / Как узнать DN AD.

Источник

Distinguished Names

The LDAP API references an LDAP object by its distinguished name (DN). A DN is a sequence of relative distinguished names (RDN) connected by commas.

An RDN is an attribute with an associated value in the form attribute=value; normally expressed in a UTF-8 string format. The following table lists typical RDN attribute types.

String Attribute type
DC domainComponent
CN commonName
OU organizationalUnitName
O organizationName
STREET streetAddress
L localityName
ST stateOrProvinceName
C countryName
UID userid

The following are examples of distinguished names.

The following table lists reserved characters that cannot be used in an attribute value without being escaped.

See the guidance below the table about using the escape character with these reserved characters.

Reserved character Description Hex value
space or # character at the beginning of a string
space character at the end of a string
, comma 0x2C
+ plus sign 0x2B
« double quote 0x22
\ backslash 0x5C
right angle bracket 0x3E
; semicolon 0x3B
LF line feed 0x0A
CR carriage return 0x0D
= equals sign 0x3D
/ forwards slash 0x2F

If a reserved character is part of an attribute value, it must be escaped by prefixing it with a backslash (\) in the attribute string. If an attribute value contains other reserved characters, such as the equals sign (=) or non-printable characters, it must be encoded in hexadecimal by replacing the character with a backslash followed by two hex digits.

The following are examples of some distinguished names that include escaped characters. The first example is an organizational unit name with an embedded comma; the second example is a value containing a carriage return.

LDAP ADsPath

For more information about using distinguished names via the ADSI LDAP provider, see LDAP ADsPath.

Источник

LDAP-фильтры для поиска объектов в Active Directory. Часть 2

Продолжаем разговор об использовании LDAP-фильтров в Active Directory, начатый в предыдущей статье. Сегодня речь пойдет о расширенных фильтрах поиска.

Типы фильтров

LDAP-фильтры условно можно разделить на четыре базовых типа — simple, present, substring и extensible. Элемент simple формируется следующим образом:

Например, все пользователи с именем Vasya:

Элемент present используется для отбора записей, у которых присутствует определённый атрибут и формируется так:

Например, все пользователи с заполненным описанием (Description):

Элемент substring используется для отбора по подстрокам и формируется следующим образом:

Например, все пользователи с именем, начинающимся на V и оканчивающимся на a:

Начальное и конечное значение вовсе не обязательны, например:

Расширенные фильтры

Вот теперь мы и добрались до расширенных (extensible) фильтров. Они составляются таким образом:

Правило соответствия (Matching Rule) — правило, которое будет применено к искомому компоненту. Правила соответствия определены в RFC 2251 и представляют из себя средство выражения того, как сервер должен сравнивать значение, указанное в фильтре поиска с данными, полученными в результате поиска. Правило может определяться по имени или по OID.

К сожалению, реализация LDAP от Microsoft не поддерживает большинство расширяемых правил, описанных в RFC. Поэтому в Active Directory доступны всего три правила соответствия.

Matching rule OID String identifier Описание
1.2.840.113556.1.4.803 LDAP_MATCHING_RULE_BIT_AND Совпадение будет найдено только в том случае, если все биты атрибута совпадут со значением. Это правило эквивалентно операции побитового И (bitwise AND)
1.2.840.113556.1.4.804 LDAP_MATCHING_RULE_BIT_OR Совпадение будет найдено в том случае, если любые биты из атрибута совпадают со значением. Это правило эквивалентно операции побитового ИЛИ (bitwise OR)
1.2.840.113556.1.4.1941 LDAP_MATCHING_RULE_IN_CHAIN Специальный расширенный оператор соответствия, проходящий по цепи наследования к корню до тех пор, пока не найдет совпадение. Выявляет вложенность групп. Применяется только к DN-атрибутам. Доступен на контроллерах домена с Windows Server 2003 SP2 и более поздних версий.

Первые два правила представляют из себя операторы побитового сравнения. Дело в том, что значения некоторых атрибутов в AD хранятся в виде битовой маски (Bitmask). Например, атрибут Group-Type (тип группы), определяющий тип и область действия группы в AD, представляет из себя битовую маску со следующими значениями:

0x00000001 (1) — BuiltIn Group;
0x00000002 (2) — Global Group ;
0x00000004 (4) — Domain Local Group ;
0x00000008 (8) — Universal Group;
0x80000000 (2147483648) — Security Group.

При использовании правил синтаксис фильтра выглядит так:

К примеру, нам требуется отобрать все универсальные группы. Для этого необходимо с помощью правила LDAP_MATCHING_RULE_BIT_AND проверить в значении атрибута наличие четвертого бита (0x00000008 или 00001000 в двоичном виде). Для этого воспользуемся фильтром:

Если условий несколько, то значения можно складывать. Так если необходимо отобрать все универсальные группы безопасности, то получим значение 2147483656 (2147483648 + 8), а фильтр будет такой:

Можно пойти от обратного и отобрать группы, не являющиеся группами безопасности (т.е. все группы распространения):

Еще один пример битовой маски — это атрибут userAccountControl, в котором хранятся свойства пользователя. Вот некоторые из значений атрибута:

0x00000002 (2) — учетная запись отключена;
0x00000010 (16) — учетная запись заблокирована;
0x00000020 (32) — пароль не требуется;
0x00000040 (64) — запретить смену пароля пользователем;
0x00000200 (512) — учетная запись по умолчанию (учетная запись пользователя со всеми снятыми флагами);
0x00010000 (65536) — срок действия пароля не ограничен;
0x00800000 (8388608) — срок действия пароля истек.

Например, выведем все отключенные (Disabled) учетные записи фильтром:

При необходимости значения можно суммировать между собой. Для примера с помощью правила LDAP_MATCHING_RULE_BIT_OR найдем всех пользователей, у которых пароль никогда не истекает или не требуется вообще. Значение атрибута при этом будет равно 65568 (65536 + 32):

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

Так вот, правило LDAP_MATCHING_RULE_IN_CHAIN позволяет решить данную задачу без особых затрат. Для примера найдем все группы пользователя с помощью простого фильтра:

А затем используя правило LDAP_MATCHING_RULE_IN_CHAIN:

Как видите, второй фильтр нашел группу, которую пропустил первый.

Теперь возьмем группу и тоже применим к ней два фильтра. Первый фильтр показывает только непосредственных членов группы:

А вот второй, в котором используется правило, покажет всех членов группы, включая вложенных:

Фильтрация с помощью ANR

Неоднозначное разрешение имен (Ambiguous Name Resolution, ANR) — алгоритм поиска объектов в Active Directory. ANR позволяет задавать сложные фильтры, включающие в себя несколько атрибутов, связанных с именами, причем в одном выражении. Его можно использовать в ситуации, когда вы знаете одно из имен объекта, но не уверены, в каком именно атрибуте это имя присутствует.

ANR включает в поиск следующий список атрибутов:

• displayName
• givenName (First Name)
• sn (Last Name)
• sAMAccountName
• legacyExchangeDN
• Relative Distinguished Name (RDN)
• physicalDeliveryOfficeName
• proxyAddresses
• mail
• mailNickname
• msExchResourceSearchProperties
• msDS-AdditionalSamAccountName
• msDS-PhoneticCompanyName
• msDS-PhoneticDepartment
• msDS-PhoneticDisplayName
• msDS-PhoneticFirstName
• msDS-PhoneticLastName

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

В этом случае Active Directory будет искать все объекты, где любой из вышеописанных атрибутов начинается со строки «Пупкин». Если сконвертировать это в стандартный LDAP-фильтр, то получится что то типа такого:

Если нам известно имя пользователя, к примеру Василий, то можно немного изменить фильтр:

(anr = Василий Пупкин)

В этом случае фильтр будет искать все объекты где любой из вышеописанных атрибутов начинается со строки «Василий Пупкин» плюс объекты, у которых (givenName=Василий*) и (sn=Пупкин*) или (givenName=Пупкин*) и (sn=Василий*). При этом алгоритм поиска учитывает наличие пробела в строке, разбивая ее на два значения.

Ну и если нам удалось узнать отчество пользователя, к примеру Иванович, тогда получится такой фильтр:

(anr = Василий Иванович Пупкин)

В этом случае фильтр будет искать объекты, у которых любой из атрибутов именования соответствует Василий Иванович Пупкин* плюс объекты, у которых (givenName=Василий*) и (sn=Иванович Пупкин*), плюс объекты с (givenName=Иванович Пупкин*) и (sn=Василий*). В этом случае алгоритм при разбиении строки учитывает только первый пробел.

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

(anr == Василий Иванович)

Как видите, LDAP-фильтры имеют много различных возможностей. О том, как их правильно использовать, пойдет речь в следующей статье.

Источник

Читайте также:  при простуде какие симптомы бывают у взрослых
Сказочный портал