Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / LDAP / 9 сообщений из 9, страница 1 из 1
19.07.2018, 14:39
    #39676218
oreshnik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
LDAP
Подскажите что я делаю не так, пытаясь подключится в Active Directory

Для теста сначала подключаюсь с помощью программы LDAP Admin, все проходит нормально. Вижу весь состав Active Directory (см вложение)

link server создавал по этому мануалу:
https://blog.sqlauthority.com/2016/03/30/sql-server-query-active-directory-data-using-adsi-ldap-linked-server/

Запрос вида, возвращает записи из Active Directory
SELECT * FROM OPENQUERY (ADSI, 'SELECT
*
FROM ''LDAP://XXXXX.YYY.ZZZ.ru/ou=People,dc=ZZZ,dc=ru''
')

Но стоит попытаться запросить какие то поля

SELECT * FROM OPENQUERY (ADSI, 'SELECT
*
FROM ''LDAP://XXXXX.YYY.ZZZ.ru/ou=People,dc=ZZZ,dc=ru''
where ObjectCategory=''person''
')

В ответ тишина - возвращается либо значения Null, либо пусто
Почему-то объекты cn SQL Server-у не передаются.
C правами учетной записи вроде всё ровно, тест в программе LDAP Admin это подтверждает. Единственное по коннекте LDAP Admin ругается на не подписанный сертификат сервера LDAP.
Сервер Microsoft SQL Server 2014 - 12.0.4100.1 (X64)
...
Рейтинг: 0 / 0
19.07.2018, 14:46
    #39676224
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
LDAP
oreshnik,

может ObjectClass = ''person'' ?
...
Рейтинг: 0 / 0
19.07.2018, 15:54
    #39676300
oreshnik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
LDAP
TaPaK,

Да так пробовал, в ответ тоже пусто.
Может настройки линк сервера какие-то нужны другие, уже не знаю в какую сторону копать
...
Рейтинг: 0 / 0
19.07.2018, 16:10
    #39676310
vikkiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
LDAP
oreshnik,

я без linked server делаю, всё работает на SQL 2017:
Код: sql
1.
2.
3.
4.
SELECT*FROM OPENROWSET('ADSDSOObject',
'MY_DC_NS_Svr;Integrated Security=SSPI','SELECT name,displayName,samAccountName,cn,ADsPath FROM 
''LDAP://europe.some_company.intra/OU=Users,OU=CITY,OU=SITES,OU=CORP,OU=EU,OU=Countries,DC=europe,DC=some_company,DC=intra'' where objectClass=''User''and objectCategory=''Person''and 
CN<>''EURO*''and ''userAccountControl:1.2.840.113556.1.4.803:''<>2')x
...
Рейтинг: 0 / 0
19.07.2018, 17:08
    #39676361
oreshnik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
LDAP
vikkiv спасибо, попробовал ваш вариант

Точно такая же петрушка. Подключение есть, но ни одного объекта cn не возвращает.
Получается настройки линк сервера не причем.

Как еще станцевать, вокруг этого LDAP, блин.
...
Рейтинг: 0 / 0
19.07.2018, 17:55
    #39676404
vikkiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
LDAP
oreshnik,

есть ещё такой нюанс что запрос возвращает только примерно первых 1000 строк

пробую другую ветку в AD, где только чистые пользователи и их мало (например десяток), убирай всё что после WHERE и оставь в SELECT только NAME , в общем упрощай запрос до минимума пока данные не потекут, потом наращивай сложность и смотри где ломается.

я скриптами из AD часто нужную информацию вытаскиваю, например через родными средствами WINDOWS администрации типа PowerShell:
Код: sql
1.
New-Object System.DirectoryServices.DirectorySearcher("(&(objectCategory=User)(samAccountName=my_user_ud))")).FindOne()

или
Код: sql
1.
([wmi]"win32_userAccount.Domain='my_domain',Name='my_user_id'").Sid

там-же все массивы из SQL процедуры обрабатываются.

можно и через xp_cmdshell если религия позволяет и уж совсем со дна начинать приходится
...
Рейтинг: 0 / 0
19.07.2018, 19:57
    #39676467
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
LDAP
vikkivесть ещё такой нюанс что запрос возвращает только примерно первых 1000 строкЕсть такая бага особенность, решается получением данных частями, по какому то критерию.
...
Рейтинг: 0 / 0
20.07.2018, 02:02
    #39676561
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
LDAP
vikkiv,

1000 строк настраивается на контроллере домена. Он разбивает по страницам, размер страницы можно определить. Ну или выгружать постранично, но это уже не с помощью linked server.

Person с большой буквы пишется.
...
Рейтинг: 0 / 0
20.07.2018, 15:48
    #39676987
Minamoto
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
LDAP
oreshnik, SQL Server то от доменной учетки запущен? Которая права на чтение AD имеет?
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / LDAP / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]