Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Получить mail атрибута manager из Active Directory  [new]
SerRock
Member

Откуда:
Сообщений: 135
Уважаемые коллеги,
есть задача построить иерархические списки сотрудников, их данные лежат в таблице ...
получаю атрибут manager из AD, но фамилии и имени мало, есть двойники в таблице приемнике ... в MSDN вроде как сказано, что можно обратиться ко всем допустимым/разрешенным параметрам записи "Руководителя"/Manager
http://msdn.microsoft.com/en-us/library/ms676859(v=vs.85).aspx
Manager attribute
Contains the distinguished name of the user who is the user's manager. The manager's user object contains a directReports property that contains references to all user objects that have their manager properties set to this distinguished name.


select * from openquery (
						ADSI,
						'
						select
					        mail, sAMAccountName, givenname, sn, department, title, manager,  cn, userAccountControl
						from ''LDAP://DC=XXXX,DC=XXX,DC=XX'' 
						'
				) where  not sn is null and not sAMAccountName is null and userAccountControl =66048


... а как бы получить или доменное имя или mail менеджера ...
понимаю как сделать из VS, но нужно из t-sql ...
25 сен 13, 15:18    [14883095]     Ответить | Цитировать Сообщить модератору
 Re: Получить mail атрибута manager из Active Directory  [new]
Glory
Member

Откуда:
Сообщений: 104760
В вашей же ссылке есть все аттрибуты и их Ldap-Display-Name
25 сен 13, 15:22    [14883121]     Ответить | Цитировать Сообщить модератору
 Re: Получить mail атрибута manager из Active Directory  [new]
SerRock
Member

Откуда:
Сообщений: 135
Glory,

там ссылки на атрибуты записи пользователя, например Коконерова, в ней есть поле Manager, которое возвращает, например Петров Петр ... а как получить в этой же строке mail Петрова ... как написать это синтаксически ...
25 сен 13, 15:32    [14883192]     Ответить | Цитировать Сообщить модератору
 Re: Получить mail атрибута manager из Active Directory  [new]
Glory
Member

Откуда:
Сообщений: 104760
SerRock
там ссылки на атрибуты записи пользователя, например Коконерова, в ней есть поле Manager, которое возвращает, например Петров Петр ... а как получить в этой же строке mail Петрова ... как написать это синтаксически ...

Сделать еще одно соединение с выборкой из LDAP по Manager ?
25 сен 13, 15:33    [14883206]     Ответить | Цитировать Сообщить модератору
 Re: Получить mail атрибута manager из Active Directory  [new]
SerRock
Member

Откуда:
Сообщений: 135
Glory,

так в том и проблема, что их будет больше одной ...
вернет 3 записи "Кузнецова Елена"
25 сен 13, 15:44    [14883305]     Ответить | Цитировать Сообщить модератору
 Re: Получить mail атрибута manager из Active Directory  [new]
Glory
Member

Откуда:
Сообщений: 104760
SerRock
так в том и проблема, что их будет больше одной ...

Кого их ?
Contains the distinguished name of the user who is the user's manager.
25 сен 13, 15:46    [14883319]     Ответить | Цитировать Сообщить модератору
 Re: Получить mail атрибута manager из Active Directory  [new]
SerRock
Member

Откуда:
Сообщений: 135
Glory,

у нас три Кузнецовых Елены ... а только одна является руководителем отдела ... а поле Manager содержит только Фамилию и Имя ...
как понять, которая Кузнецова Елена ..? тем более, что одна из оставшихся двоих может тоже стать руководителем отдела ...
25 сен 13, 15:51    [14883358]     Ответить | Цитировать Сообщить модератору
 Re: Получить mail атрибута manager из Active Directory  [new]
Glory
Member

Откуда:
Сообщений: 104760
SerRock
у нас три Кузнецовых Елены ..

И у все одинаковый distinguished name of the user что ли ?

SerRock
а поле Manager содержит только Фамилию и Имя ...


The following are examples of distinguished names.
CN=Jeff Smith,OU=Sales,DC=Fabrikam,DC=COM
CN=Karen Berge,CN=admin,DC=corp,DC=Fabrikam,DC=COM
25 сен 13, 15:52    [14883363]     Ответить | Цитировать Сообщить модератору
 Re: Получить mail атрибута manager из Active Directory  [new]
SerRock
Member

Откуда:
Сообщений: 135
Glory,

да, CN одинаковые ...
25 сен 13, 15:59    [14883414]     Ответить | Цитировать Сообщить модератору
 Re: Получить mail атрибута manager из Active Directory  [new]
Glory
Member

Откуда:
Сообщений: 104760
SerRock
да, CN одинаковые ...

Значит у них другие _различающиеся_ аттрибуты
25 сен 13, 17:02    [14883795]     Ответить | Цитировать Сообщить модератору
 Re: Получить mail атрибута manager из Active Directory  [new]
SerRock
Member

Откуда:
Сообщений: 135
Glory,

в записи поле Manager возвращает Фамилию и Имя руководителя этой учетки ... как получить еще параметры от Manager, например что то вроде Manager.mail
25 сен 13, 19:10    [14884445]     Ответить | Цитировать Сообщить модератору
 Re: Получить mail атрибута manager из Active Directory  [new]
Glory
Member

Откуда:
Сообщений: 104760
SerRock
в записи поле Manager возвращает Фамилию и Имя руководителя этой учетки

Мда
Хорошо
Просто напишите запрос, который вернет все учетные записи, которые по-вашему являются руководителями
select * from openquery (
						ADSI,
						'
						select
					        ....
						from ''LDAP://DC=XXXX,DC=XXX,DC=XX'' 
						'
				) a where <руководитель>
26 сен 13, 09:11    [14885734]     Ответить | Цитировать Сообщить модератору
 Re: Получить mail атрибута manager из Active Directory  [new]
SerRock
Member

Откуда:
Сообщений: 135
Glory,

вы имеете ввиду написать where not manager is null ..? а что это даст?

я, наверное, путаю вас, неправильно спрашиваю ...
попробую так:
значение manager в строке AD возвращает CN, а значения CN в некоторых строках нашей AD совпадают, т.е. не уникальны (собственно и не обязаны, уникален SID, или в одном домене sAMAccountName) ... я не могу обязать сис.админов контролировать уникальность CN ...
в табл. sql размещены записи сотрудников и есть поле доменного имени (ну и поля Фамилия и Имя), нужно создать поле "Руководитель" и записать туда данные из АД, я пытаюсь получить его из поля Manager доп. инфу для идентификации строки, т.к. CN, которая возвращает из нашей АД Фамилию и Имя не уникальна для табл. в sql всех сотрудников, которые являются руководителями ...

можно, конечно, поставить на ручной привод, но хотелось бы автоматизировать процесс и повесить на job ... или как-то решать проблему по-другому ...
26 сен 13, 09:46    [14885880]     Ответить | Цитировать Сообщить модератору
 Re: Получить mail атрибута manager из Active Directory  [new]
SerRock
Member

Откуда:
Сообщений: 135
Glory,

параллельно еще хотел спросить, пытаюсь записать поля SID и GUID, так вот значение SID записывается в таблицу sql ввиде вертикальной черты, а GUID краказябриками ... а как получить нормально отображаемые значения в таблицу, тип поля varchar(100) в обоих случаях ... какое лучше использовать из этих полей, вроде как guid уникален в мировом масштабе, зачем тогда АД еще хранит и sid ..?
26 сен 13, 12:42    [14886854]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить