Чтобы получить в MS SQL Server данные из Active Directory (AD) необходимо:
1) Создать связанный сервер (Linked Server)
2) Отправить запрос в AD
Итак:
1) создание связанного сервера:
sp_addlinkedserver'AD', 'Active Directory Service Interfaces',
'ADSDSOObject', 'adsdatasource'
Может получиться так, что у вас будет недостаточно прав для выполнения запросов к AD, для этого необходимо прописать использование конкретной учетной записи: Свойство Связанного сервера(Linked Server Properties )->Безопастность(Security)
2)Сам запрос к AD:
SELECT * FROM OPENQUERY
( AD,'SELECT
name,comment, company, l, postaladdress,
title,telephonenumber, homePhone, mobile,cn, mail, ou, dc, uid, userPrincipalName, sAMAccountName
FROM ''LDAP://DC=mydomen,DC=net''
WHERE objectCategory = ''Person''
AND objectClass= ''user'' ')
В данных запросах есть ограничения на выдачу колличества строк - 901 строка, для решения данного ограничения, можно использовать выгружать данные циклами,к примеру ограничивать по начальной букве фамилии пользователя:
SELECT * FROM OPENQUERY
( AD,'SELECT
name,comment, company, l, postaladdress,
title,telephonenumber, homePhone, mobile,cn, mail, ou, dc, uid, userPrincipalName, sAMAccountName
FROM ''LDAP://DC=mydomen,DC=net''
WHERE objectCategory = ''Person''
AND objectClass= ''user'' and sn<''И*'' '
)
Будут выгружены учетные пользователи с фамилией начинающиеся до буквы И.
1) Создать связанный сервер (Linked Server)
2) Отправить запрос в AD
Итак:
1) создание связанного сервера:
sp_addlinkedserver'AD', 'Active Directory Service Interfaces',
'ADSDSOObject', 'adsdatasource'
Может получиться так, что у вас будет недостаточно прав для выполнения запросов к AD, для этого необходимо прописать использование конкретной учетной записи: Свойство Связанного сервера(Linked Server Properties )->Безопастность(Security)
2)Сам запрос к AD:
SELECT * FROM OPENQUERY
( AD,'SELECT
name,comment, company, l, postaladdress,
title,telephonenumber, homePhone, mobile,cn, mail, ou, dc, uid, userPrincipalName, sAMAccountName
FROM ''LDAP://DC=mydomen,DC=net''
WHERE objectCategory = ''Person''
AND objectClass= ''user'' ')
В данных запросах есть ограничения на выдачу колличества строк - 901 строка, для решения данного ограничения, можно использовать выгружать данные циклами,к примеру ограничивать по начальной букве фамилии пользователя:
SELECT * FROM OPENQUERY
( AD,'SELECT
name,comment, company, l, postaladdress,
title,telephonenumber, homePhone, mobile,cn, mail, ou, dc, uid, userPrincipalName, sAMAccountName
FROM ''LDAP://DC=mydomen,DC=net''
WHERE objectCategory = ''Person''
AND objectClass= ''user'' and sn<''И*'' '
)
Будут выгружены учетные пользователи с фамилией начинающиеся до буквы И.
Комментариев нет :
Отправить комментарий