Поиск записи менеджера пользователя в Active Directory - PullRequest
2 голосов
/ 11 июня 2009

Используя Active Directory, я пытаюсь найти SamAccountName и адрес электронной почты менеджера пользователя.

Я нахожу зарегистрированного пользователя в AD поиском, где sAMAccountName = Domain \ Account. Затем я получаю свойство менеджера, которое выглядит так, например:

CN=Doe\, Jane E.,OU=Employees,OU=Users,OU=Detroit,OU=United States,DC=na,DC=gmc,DC=gmc,DC=com"

Как я могу использовать этот предполагаемый ключ, чтобы найти запись пользователя для этого человека? На каком поле я бы соответствовал?

Ответы [ 3 ]

2 голосов
/ 11 июня 2009

Если я правильно помню, это их Отличительное имя, что означает, что вы можете использовать его как прямую ссылку на их профиль

LDAP://CN=Doe, Jane E.,OU=Employees,OU=Users,OU=Detroit,OU=United States,DC=na,DC=gmc,DC=gmc,DC=com

Я также думаю, что оно вернет это имя, если профиль существует. Если он был удален, то я считаю, что он запускает GUID некоторого вида (в зависимости от памяти - это может быть неправильно)

1 голос
/ 24 ноября 2017

(Это сообщение от старого времени, но я подумал, что может быть полезным для других в сообществе)

Вы можете использовать разбор строк и найти его так:

REPLACE(SUBSTRING(manager, 4, CHARINDEX('OU=', manager)-5), '\', '')

Полный рабочий запрос (просто измените DOMAIN на свой):

SELECT Top 901 manager, REPLACE(SUBSTRING(manager, 4, CHARINDEX('OU=', 
manager)-5), '\', '')
FROM OPENQUERY( ADSI, 'SELECT manager FROM ''LDAP://DC=DOMAIN,DC=local'' 
     WHERE objectCategory = ''Person'' AND objectClass= ''user''
     AND userprincipalname = ''*'' AND mail = ''*'' AND SN = ''*'' ')
1 голос
/ 11 июня 2009

Запись для менеджера - это Строка привязки менеджера. Вы можете передать его обратно в запрос к активному каталогу, привязав его к объекту, который будет возвращать информацию менеджера.

...