![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Помогите получить список групп из Active Directory [D7, WinXP]
MiF © (2005-01-28 13:24:00)Пишу прогу для нарезки прав на "шары" сервера.
Юзеров добавлять нет проблемм - теперь надо группы научиться.
Помогите получить список групп из Active Directory.
Приветствуются любые варианты.
Alex Konshin (2005-01-31 12:05:00) [1]Ага. Получилось.
Короче логин в моем случае выглядит как
CN=Alex Konshin,CN=Users,DC=home
Где первый CN указывает именно имя, а не сам логин (поэтому-то у меня и не получалось).
Нужно будет взять на заметку...
Danilka (2005-01-31 09:16:00) [2][6] Alex Konshin © (31.01.05 08:39)
> Где об этом почитать?
1. В МСДН. :))
2. Есть примеры поисков через АДО в архиве по ссылке [3], там как-раз пути LDAP. Да и вообще, статья на том сайте по АД хорошая: http://www.agnisoft.com/adsi/Conf2000/3132.htm
Хоти и индусами, тобой нелюбимыми написана. :))
Alex Konshin (2005-01-31 08:39:00) [3]Кстати, должен же быть доступ по LDAP к Active Directory.
Никто не пробовал?
О! Порт стандартный - 389. Как anonymous приконнектился, но вижу только корень.
Очевидно, что нужно коннектится не под anonymous.
А как примерно выглядит будет мой логин? Просто uid=<мой логин> не понимает. Видимо нужно еще как-то домейн написать...
uid=<login>, dc=<domain> тоже не работает.
Где об этом почитать?
MiF (2005-01-31 08:23:00) [4]Еще раз спасибо! Модуль проверил. Всё работает! Сегодня прикручу к своей проге!
MiF (2005-01-31 08:14:00) [5]Спасибо, попробую прикрутить!!!
Danilka (2005-01-28 15:09:00) [6]MiF © (28.01.05 13:24)
Хорошие примеры работы с Активе Директори из Дельфей и, в частности, с пользователями, есть вот-здесь:
http://www.agnisoft.com/adsi/adsicode.zip
Получение списка групп:
uses ActiveX, ActiveDs_TLB, adshlp;
procedure TForm1.Button1Click(Sender: TObject);
var
dom: IADsContainer;
e : IEnumVARIANT;
varArr : OleVariant;
lNumElements : ULong;
obj : IADs;
hr : integer;
begin
ADsGetObject('WinNT://'+YourDomain , IADsContainer, dom);
dom.Filter := VarArrayOf(['group']);
hr := ADsBuildEnumerator(dom,e);
while(Succeeded(Hr)) do
begin
hr := ADsEnumerateNext(e,1,
varArr ,lNumElements);
if (lNumElements=0) then
break;
IDispatch(varArr).QueryInterface(IADs, obj);
if obj<>nil then
begin
Memo1.Lines.Add(obj.Name);
end;
varArr := NULL;
end;
end;
где: YourDomain - имя компьютера, ActiveDs_TLB, adshlp - есть в архиве, ссылку на который я тебе дал. ActiveDs_TLB - можешь сам сгенерить.
MiF (2005-01-28 14:36:00) [7]просмотр, добавление, ищменение прав на какую-нить папку на серваке.
Kerk (2005-01-28 14:15:00) [8]
> нарезки
шо такэ?