Delphi.ktop討論區 – 如何取得 Win2000 AD 內使用者的相關資訊?
在站上查到「使用Delphi讀取NT或2000的帳號及密碼做認證」的方法後,覺得這個功能超好用的,不用自已管理帳號密碼,真好 ^_^
但是、接下來就是想要從 NT網域伺服器 or AD 裡取得User的相關資料,例如:使用者的姓名、部門、說明…. 等等的欄位資訊.
是否有高手能分享心得 or 函式 ?
先謝謝囉 ~function
NetUserGetInfo(ServerName:PWideChar;UserName:PWideChar;Level:DWORD;var
Buf:Pointer):Longint;stdcall;external ‘netapi32.dll’ Name
‘NetUserGetInfo’;function NetApiBufferFree(Buff: Pointer):Integer;stdcall;external
‘netapi32.dll’ Name ‘NetApiBufferFree’;function GetUserInfo(Server, User: String): String;
var
UserInfo : PUSER_INFO_3;
lpwUser : Array[0..255] Of
WideChar;
lpwSrv : Array[0..255] Of WideChar;begin
StringToWideChar(Server, lpwSrv, SizeOf(lpwSrv));
StringToWideChar(User,
lpwUser, SizeOf(lpwUser));NetUserGetInfo(lpwSrv,lpwUser,2,Pointer(UserInfo));
Result := UserInfo.usri3_comment;
NetApiBufferFree(UserInfo);
end;