![]() |
Auslesen welcher User zu welcher Gruppe gehört?!
Auslesen welcher User zu welcher Gruppe gehört?!
Kann mir hierzu jemand sagen, wie dieses funktioniert? Die einzelnen User kann ich auslesen, nur die Gruppen auszulesen bekmme ich nicht hin. Vielen Danke schon mal im Vorraus!!! |
Ich müßte wissen wie ich herraus finden kann, welcher Benutzer zur
welcher Gruppe gehört und desweiteren, welche Gruppen überhaupt vorhanden sind!? |
Mit NetLocalGroupEnum bekommst du alle Gruppen und mit NetUserGetGroups bekommst du alle Gruppen, in der der jeweilige Benutzer Mitglied ist.
|
Vielen Dank!
Hast du vielleicht auch ein kl. Beispiel für mich? Danke! |
Die Netxxx-Funktionen funktionieren alle nach dem gleichen Prinzip. Wenn du also die Benutzer auslesen kannst, dann sollte das auch kein Problem sein.
|
if NetLocalGroupEnum(nil, 0, FILTER_NORMAL_ACCOUNT, XXX, MAX_PREFERRED_LENGTH, dwEntriesRead, dwEntriesTotal) = NERR_SUCCESS then
prefmaxlen: Preferred maximum length, in 8-bit bytes of returned data. ich komme mit dieser Stelle nicht klar, was muß denn da rein? |
Wo jetzt? Da wo bei dir die xxx stehen oder meinst du die Konstante, die hast du doch da schon stehen.
Bei den xxx kommt das hin, was du auch bei NetLocalUserEnum eingestetzt hast, nur eben für NetLocalGroupEnum. |
Sorry, ich meinte das XXX.
Ich habe das selbe hinein geschrieben, aber das funktioniert nicht. [Fehler] Unit1.pas(58): Die Typen der tatsächlichen und formalen Var-Parameter müssen übereinstimmen |
Der Datentyp muß natürlich auch stimmen. Poste doch mal etwas Code.
|
Das hier war für die User:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var dwEntriesRead, dwEntriesTotal: DWORD; ui1, ui2 : Pointer; i : Integer; begin if NetUserEnum(nil, 0, FILTER_NORMAL_ACCOUNT, ui1, MAX_PREFERRED_LENGTH, dwEntriesRead, dwEntriesTotal, nil) = NERR_SUCCESS then begin ui2 := ui1; for i := 0 to dwEntriesRead-1 do begin Listbox1.Items.Add(PUserInfo1(ui1)^.usri1_name); Inc(Integer(ui1), SizeOf(Pointer)); end; end; NetAPIBufferFree(ui2); end; Und das soll für die Gruppen sein: (Erstmal alle Gruppen anzeigen, später muß nach zu jedem Benutzer die Gruppe ermittelt werden.)
Delphi-Quellcode:
Code-Tages hinzugefügt - Luckie
var
dwEntriesRead, dwEntriesTotal, jo : DWORD; ui1, ui2 : Pointer; i : Integer; begin if NetLocalGroupEnum(nil, 0, FILTER_NORMAL_ACCOUNT, ui1, MAX_PREFERRED_LENGTH, dwEntriesRead, dwEntriesTotal) = NERR_SUCCESS then begin ui2 := ui1; for i := 0 to dwEntriesRead-1 do begin Listbox1.Items.Add(PLOCALGROUPINFO0(ui1)^.lgrpi0_name); Inc(Integer(ui1), SizeOf(Pointer)); end; end; NetAPIBufferFree(ui2); end; Beim nächsten mal bitte selber machen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:05 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz