fran_k | Salut à tous,
j'aimerais lister les groupes d'un utilisateur en renseignant son nom mais je galère,
j'ai repris ce code Code :
- >function GetGroupsForUser(uname: string): string;
- >var
- > Sid: PSID;
- > SIDsz: dword;
- > DomName: array[0..127] of Char;
- > DomNameSz: dword;
- > SidUse: SID_NAME_USE;
- > pSubCnt: PUChar;
- > SubCnt, i: integer;
- > pSubAuth: PDword;
- >begin
- > DomNameSz := SizeOf(DomName);
- > SIDsz := 0; // force return of size
- > if not LookupAccountName(nil, PChar(uname), Sid, SIDsz,
- > DomName, DomNamesz, SidUse) then
- > begin
- > GetMem(Sid, SIDsz);
- > try
- > if LookupAccountName(nil, PChar(uname), Sid, SIDsz,
- > DomName, DomNamesz, SidUse) then
- > begin
- > result := DomName + ' ' + IntToStr(SidUse);
- > pSubCnt := GetSidSubAuthorityCount(Sid);
- > SubCnt := pSubcnt^;
- > for i := 0 to SubCnt - 1 do
- > begin
- > pSubAuth := GetSidSubAuthority(Sid, i);
- > result := result + ' ' + IntToStr(pSubAuth^);
- > end;
- > end;
- > finally
- > FreeMem(Sid);
- > end;
- > end;
- >end;
|
mais je n'arrive pas à obtenir le groupes sous forme de string,
qqn aurait une idée ? ---------------
DVD
|