Я использую ADSI Edit для просмотра свойств LDAP одной учетной записи пользователя в AD. Я вижу такие свойства, как userPrincipalName, но не вижу ни одного для полного доменного имени (FQDN) или доменного имени netbios.
Мы будем настраивать Глобальный каталог (GC), чтобы предоставить нам доступ LDAP к нескольким доменам, и через конфигурацию в приложении мы сопоставляем свойства LDAP со свойствами профиля пользователя в приложении. При использовании типичного AD полное доменное имя и доменное имя netbios одинаковы для всех пользователей, но с помощью GC нам нужна эта дополнительная информация. Нам действительно нужно только доменное имя netbios (полное доменное имя недостаточно хорошее).
Может быть, существует запрос LDAP, который можно сделать, чтобы запросить эту информацию у объекта более высокого уровня в AD?
источник
Чтобы ответить на последний вопрос, вы сможете проверить имя NetBios вручную, проверив раздел «Конфигурация», а затем разделы каталога в ADSIEdit:
Это имеет
name
иnetBIOSName
свойства. В противном случае, я думаю, вам придется получить его из fqdn / DN, как предполагает squillman.источник
Для приложения? Microsoft делает это довольно просто в .NET. Это должно предоставить вам список доменных имен Netbios, которые вы можете использовать для создания списка пользовательских объектов с именами DN / DNS / Netbios домена или перекрестных ссылок на словари.
Кроме того, то, что определяет, доступен ли атрибут в Глобальном каталоге, является (еще одним) атрибутом, называемым isMemberOfPartialAttributeSet. Используя Microsoft SysInternals AD Explorer, вы можете искать контейнер схемы в домене и искать любой объект, имеющий isMemberOfPartialAttributeSet = true, чтобы увидеть все атрибуты, доступные для запроса GC.
источник
Вам придется анализировать его
dn
поAdsDSPath
атрибуту (detachedName) или по атрибутам. Объекты доменных имен имеют префикс"DC="
в этих атрибутах. Самый левыйDC=
будет содержать ваше доменное имя netbios.Например:
cn=myuser,ou=users,dc=mydomain,dc=mycompany,dc=com
mydomain
доменное имя netbiosРЕДАКТИРОВАТЬ:
Как указывает Брайан Десмонд, это не обязательно авторитетный способ найти фактическое имя netbios, это просто совпадение, что они обычно коррелируют. См. Ответ BoyMars для авторитетного пути.
источник
dsquery computer OU=OU,OU=You,OU=Need,DC=local.domain -o rdn
выдает то, что вы хотите, с именем NetBIOS в кавычках. Поскольку это относительно, вам не нужно будет получать полный путь. Не уверен, если это поможет ОП, хотя; он спросил о LDAP, так что это не чистый ответ LDAP.Если у вас есть имя участника-пользователя или DN, вы можете использовать COM-библиотеку ActiveDS для перевода значений. Ниже приведен пример для перевода UserPrincipalName в NT4 (NetBios) имя.
источник