Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Delphi + ADO + Active Directory

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2

Открыть новую тему     Написать ответ в эту тему

Vasilio

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
сабж

Всего записей: 28 | Зарегистр. 06-01-2003 | Отправлено: 08:12 02-10-2003
ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
сабж

RTFM, FAQ . Тебе что именно надо так как со всем этим можно много чего сделать.

----------
И создал Бог женщину... Существо получилось злобное, но забавное...

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 09:12 02-10-2003
Vasilio

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
собственно мне надо получить список групп и юзеров

Всего записей: 28 | Зарегистр. 06-01-2003 | Отправлено: 05:23 03-10-2003
Arion



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
1)Кладем на форму компонент TADOConnection и назначаем в качестве провайдера OLE DB Provider for Microsoft Directory Services. При необходимости можно также указать имя пользователя и пароль.
 
2) Кладем на форму TADOQuery и в SQL задаем следующий запрос:

Код:
 
select distinguishedName,Name from 'LDAP:\rootDSE' where objectClass='user' or objectClass='group'

 
Более подробно смотри в MSDN, статья ADSI Provider (ADO)

Всего записей: 436 | Зарегистр. 29-06-2003 | Отправлено: 08:44 05-10-2003
Vasilio

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Этим запросом получаю список подразделений
select Name
from 'LDAP://DC=s42, DC=local'
where objectCategory='organizationalUnit'
Этим - список юзеров
select userPrincipalName, Name, sAMAccountName
from 'LDAP://DC=s42, DC=local'
where objectCategory='person'
А как определить к какому подразделению относиться юзер?
Или подскажите как написать это одним запросом, чтобы выводило такой список:
подразделение - его юзеры
                ...

Всего записей: 28 | Зарегистр. 06-01-2003 | Отправлено: 04:51 09-10-2003
Arion



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Select Name, userPrincipalName from 'LDAP:\OU=MyUnit, DC=s42,DC=local' where objectCategory='person'

Всего записей: 436 | Зарегистр. 29-06-2003 | Отправлено: 21:11 09-10-2003
Vasilio

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Попробовал этот запрос

Цитата:
Select Name, userPrincipalName from 'LDAP:\OU=MyUnit, DC=s42,DC=local' where objectCategory='person'

только писал 'LDAP://OU=MyUnit ...
В результате получаю ошибку: Таблица не существует

Всего записей: 28 | Зарегистр. 06-01-2003 | Отправлено: 06:05 10-10-2003
Arion



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Естессно. Вместо myUnit нужно подставлять имя организационной единицы, список пользователей которой выводится.

Всего записей: 436 | Зарегистр. 29-06-2003 | Отправлено: 18:42 10-10-2003
Vasilio

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Естессно. Вместо myUnit нужно подставлять имя организационной единицы, список пользователей которой выводится.

Конечно же я заменил MyUnit на свое наименование

Всего записей: 28 | Зарегистр. 06-01-2003 | Отправлено: 05:50 12-10-2003
Arion



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Искренне сочувствую. А какая у тебя, кстати, версия MSDAC?

Всего записей: 436 | Зарегистр. 29-06-2003 | Отправлено: 11:10 12-10-2003
Vasilio

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
mdac 2.7 sp1
Прогу пишу под win xp+sp1, а сервер с AD под win2k+sp3

Всего записей: 28 | Зарегистр. 06-01-2003 | Отправлено: 07:38 13-10-2003
Arion



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Хм странно. У меня на Win2K AS SP4 + MSDAC 2.7 SP1 этот код выполняется нормально.

Всего записей: 436 | Зарегистр. 29-06-2003 | Отправлено: 09:11 13-10-2003 | Исправлено: Arion, 09:24 13-10-2003
Vasilio

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
В общем я примерно разобрался что к чему.
Почему-то 'LDAP://OU=MyUnit ... работает нормально только если MyUnit это подразделение самого верхнего уровня, а если я пишу имя вложенного подразделения то его не видно.

Всего записей: 28 | Зарегистр. 06-01-2003 | Отправлено: 04:33 14-10-2003
Jinny



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А такая же байда пройдет с WinNT 4.0 Server ??
Если да то какими запросами оперировать надо ??

Всего записей: 12 | Зарегистр. 29-08-2003 | Отправлено: 16:28 14-10-2003
Arion



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Vasilio
 

Цитата:
а если я пишу имя вложенного подразделения то его не видно.

А попробуй указать полный LDAP путь к объекту, например: 'LDAP:\\OU=MyUnit1,OU=MyUnit2,DC=...'. В принципе запрос select может работать с любым каталогом схемы, например LDAP://CN=Users,DC=...
 
Jinny

Цитата:
А такая же байда пройдет с WinNT 4.0 Server  

 
Неа, это фича работает только через OLE DB провайдер для AD.

Всего записей: 436 | Зарегистр. 29-06-2003 | Отправлено: 20:57 14-10-2003
Vasilio

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
А попробуй указать полный LDAP путь к объекту, например: 'LDAP:\\OU=MyUnit1,OU=MyUnit2,DC=...'

Не работает

Всего записей: 28 | Зарегистр. 06-01-2003 | Отправлено: 03:51 15-10-2003
Update

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Vasilio
 
SELECT AdsPath, CN, SN FROM 'LDAP://DC=AGNISOFT,DC=COM' WHERE objectClass='user' ORDER BY sn
 
вот так приблизительно можно найти своих узеров
там вроде наоборот орг.ед. пишуться тоесть если "2" вложено в "1"
 
то LDAP:\\OU=2,OU=1,DC=...

Всего записей: 11 | Зарегистр. 14-12-2005 | Отправлено: 11:59 24-09-2007
Xein

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
1)Кладем на форму компонент TADOConnection и назначаем в качестве провайдера OLE DB Provider for Microsoft Directory Services. При необходимости можно также указать имя пользователя и пароль.

 
Я новичёк в Delphi
Неполучается подключиться к Active Directory....
Беру компонент TADO.Table, указываю ему connection string через мастер...
В русской версии Delphi он значитсо так: Поставщик OLE DB для служб каталогов
 
 
Добавляю ТDBGrid и TDataSource.
Связываю друг с другом и тишина...  
В ObjectTree View рядом с ADO.Table1 висит вопросик...  
 
Расскажите пожалуйста в деталях что с чем связать и куда как подключить (

Всего записей: 24 | Зарегистр. 08-08-2007 | Отправлено: 18:04 15-02-2008
Diadema



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Как можно обойти ограничение Selecta из AD на 1000 записей?

Всего записей: 185 | Зарегистр. 17-01-2006 | Отправлено: 17:11 28-08-2008
LamerOK1024



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Столкнулся со следующей проблемой: подключаюсь к AD с помощью ADO, получаю список юзеров и их SIDы, вывожу все это в лист бокс, имена юзеров выводятся нормально, а вот SIDы совсем не корректно. Я так понял что они в двоичном формате передаются. А как их привести в божеский вид? S-X-XXXXXX-XXXXXX-XXXXX-XXX????

Всего записей: 37 | Зарегистр. 22-05-2008 | Отправлено: 08:26 18-12-2008
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Delphi + ADO + Active Directory


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2025

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru