![]() |
Gruppen eines Users aus ActiveDirectory auslesen - von PC der NICHT in Domain ist
Hallo!
Ich muss die Liste der Gruppen auslesen, denen ein spezieller Benutzer angehört. Normalerweise kann ich das mit NetUserGetGroups tun, und zwar so:
Delphi-Quellcode:
Aber das funktioniert nicht, wenn mein Programm auf einem PC läuft, der nicht Teil der AD-Domäne ist. Es ist aber offensichtlich möglich, ich hab's mit "LDAP-Administrator" (von Softerra) e versucht, und dort funktioniert es.
function GetLDapUserGroups(UserName, DomainName : string) : TStringList;
var bufptr : Pointer; ServerName : String; EntriesRead : DWord; TotalEntries : DWord; buf : Pbyte; PGlobalGroupInfo : PGroupInfo0; i : integer; begin result:=TStringList.Create; bufptr := nil; NetGetAnyDCName(nil, PWideChar(DomainName), bufptr); ServerName := PWideChar(bufptr); Delete(ServerName, 1, 2); // remove starting '\\' from server Name if NetUserGetGroups( PWideChar(ServerName), PWideChar(UserName), 0, buf, MAX_PREFERRED_LENGTH, @EntriesRead, @TotalEntries)=NERR_SUCCESS then begin PGlobalGroupInfo := PGroupInfo0(buf); // Store group names in list for i:=0 to EntriesRead - 1 do begin result.Add(PGlobalGroupInfo^.grpi0_name); inc(PGlobalGroupInfo); end; end; NetAPIBufferFree(buf); end; Ich habe folgendes probiert: * JclWin32.NetUserGetGroups - Nein. (Fast logisch, ich kann hier kein Benutzerpasswort angeben. Funktioniert aber gut, wenn der PC teil der Domäne ist) * JwaLmaccess.NetUserGetLocalGroups - Nein. Auch keine Möglichkeit, ein Passwort zu übergeben * NetApi.GetNetUserGroups - gleiche Geschichte hier * CreateOleObject ('ADODB.Command') ... - Nein Ich habe es gerade geschafft, das Passwort von Nicht-Domänen-PC zu überprüfen (siehe ![]() In den Jedi-Quellen hab ich die Funktion "JwaWinLDAP.ldap_search_sW" gefunden. Für mich riecht das vielversprechend, da ich den LDap-Token vom Anmeldevorgang weitergeben könnte. Ich habe jedoch keine Code-Beispiele für die Suche nach Benutzergruppen gefunden. Kann mir da jemand von euch damit helfen? Oder habt ihr sonst einen Tip wie das gehen könnte? Kann mir bitte jemand in die richtige Richtung gehen? :) Vielen Dank! |
AW: Gruppen eines Users aus ActiveDirectory auslesen - von PC der NICHT in Domain ist
Vorher mit
![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:53 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