![]() |
LDAP Abfrage. Kein Resultat wenn Bindestrich in Gruppenname!
Hallo
Ich lese mit folgender Funktion die Mitglieder einer Gruppe auf. Dies funktioniert auch wunderbar, bis ich für "MyObjName" einen Gruppenname angebe, der einen Bindestrich "-" enthält. Dann ist das Ergebnis leer... An was kann das liegen?
Delphi-Quellcode:
Danke schon ma...
{*------------------------------------------------------------------------------
this function lists the members of a group @param ADsPath ldap path to active directory @param MyObjClass specifies the object class in which you perform the search @param MyObjName the name of the object you search after @param list this list is containing the search result @return returns wether the search was a success or not -------------------------------------------------------------------------------} function ListMemberOf(ADsPath, MyObjClass, MyObjName: String; list: TStringList): Boolean; var rs, conn, com : Variant; strFilter, strAttributes, strADS : string; arrVar: Array of variant; SearchObj: String; i:Integer; strTxt,strValue:String; begin conn := CreateOleObject('ADODB.Connection'); com := CreateOleObject('ADODB.Command'); Result := True; try conn.Provider := 'ADsDSOObject'; conn.open; com.ActiveConnection := conn; if MyObjClass = 'user' then SearchObj := 'sAMAccountName' else SearchObj := 'CN'; strFilter := '(&(objectClass='+MyObjClass+')('+SearchObj+'='+MyObjName+'))'; strAttributes := 'memberOf'; strADS := '<'+ADsPath+'>;' + strFilter + ';' + strAttributes + ';subtree'; Com.CommandText := strADS; Com.Properties['Page Size'] := 100000; Com.Properties['Searchscope'] := 2; Com.Properties['Cache Results'] := False; rs := Com.Execute; if Not rs.EOF then begin try arrVar := rs.Fields['memberOf'].Value; except SetLength(arrVar,1); arrVar[0] := 'is not member of a group ...'; end; end else Result := False; Rs := NULL; finally com := NULL; conn.Close; conn := NULL; end; for i := 0 to Length(arrVar) - 1 do begin strTxt := arrVar[i]; strValue := MidStr(strTxt,Pos('=',strTxt)+1,Pos(',',strTxt)-Pos('=',strTxt)-1); list.Add(strValue); end; end; |
Re: LDAP Abfrage. Kein Resultat wenn Bindestrich in Gruppenn
*push*
Was ich immer wieder feststellen muss: In diesem Forum hat man immer super schnell eine Antwort, sobald es aber was mit AD zu tun hat, ändert sich diese Eigenschaft. :zwinker: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:23 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