Вниз
Скачать: CL | DM;

Получение e-mail пользователя из Active Directory   Найти похожие ветки 

← →
Lexer ©   (2006-07-20 18:50) [0]

Нужно получить e-mail указанный в свойстве пользователя.
Думал ничего сложного - NetUserGetInfo. но...
USER_INFO_0,1,2,3,10,11,20 не содержат такой информации :(


← →
oxffff ©   (2006-07-20 22:55) [1]

Скорее всего придется использовать LDAP или ADSI.


← →
oxffff ©   (2006-07-20 22:58) [2]

Active Directory Service Interfaces
Purpose

Active Directory Service Interfaces (ADSI) is a set of COM interfaces used to access the features of directory services from different network providers. ADSI is used in a distributed computing environment to present a single set of directory service interfaces for managing network resources. Administrators and developers can use ADSI services to enumerate and manage the resources in a directory service, no matter which network environment contains the resource.

ADSI enables common administrative tasks, such as adding new users, managing printers, and locating resources in a distributed computing environment.

Where Applicable

Network Administrators can use ADSI to automate common tasks, such as adding users and groups, managing printers, and setting permissions on network resources.

Independent Software Vendors and end-user developers can use ADSI to "directory enable" their products and applications. Services can publish themselves in a directory, clients can use the directory to find the services, and both can use the directory to find and manipulate other objects of interest. Because Active Directory Service Interfaces are independent of the underlying directory service(s), directory-enabled products and applications can operate successfully in multiple network and directory environments.


← →
oxffff ©   (2006-07-20 23:13) [3]

Нашел
The IADsUser interface
get_EmailAddress


← →
lexer ©   (2006-07-21 11:00) [4]

oxffff, большое спасиба, поюзаю ADSI, думаю направление правильное, а то меня что-то к MAPI потянуло


← →
lexer ©   (2006-07-21 18:42) [5]

Огромное спасибо oxfff, вот что у меня в итоге получилось, может кому пригодится:

uses ActiveX, ActiveDs_TLB, ComObj;
procedure TForm1.BitBtn1Click(Sender: TObject);
var
 Usr: IADsUser;
 Comp: IADsComputer;
 Cont: IADsContainer;
begin
 try
   Usr := GetObject("LDAP://CN=Иванов Иван,CN=Users,DC=CIT") as IADsUser;
   FUserEmail :=  Usr.EmailAddress;
 except
   on E: EOleException do
   begin
     ShowMessage(E.message);
   end;
 end;
end;

function TForm1.GetObject(const name: string): IDispatch;
var
 Moniker: IMoniker;
 Eaten: integer;
 BindContext: IBindCtx;
 Dispatch: IDispatch;
begin
 OleCheck(CreateBindCtx(0, BindContext));
 OleCheck(MkParseDisplayName(BindContext, PWideChar(WideString(name)), Eaten, Moniker));
 OleCheck(Moniker.BindToObject(BindContext, nil, IDispatch, Dispatch));
 Result := Dispatch;
end;



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.028 c
2-1155531812
Батыр
2006-08-14 09:03
2006.09.03
Стартовая страница


15-1154968330
Евгений К.
2006-08-07 20:32
2006.09.03
Стоит ли переходить на D2005???


2-1155237353
ArtemESC
2006-08-10 23:15
2006.09.03
Как убрать Beep при нажатии Enter при вводе в TEdit?


15-1155042469
ocean
2006-08-08 17:07
2006.09.03
Отмена Scandisk при загрузке XP


2-1155546683
ZX48
2006-08-14 13:11
2006.09.03
ini файл




   Наверх