Einzelnen Beitrag anzeigen

Steve9825679

Registriert seit: 21. Jun 2005
Ort: Gmunden
24 Beiträge
 
Delphi 2010 Professional
 
#5

Re: Alle lokalen, aktivierten Benutzerkonten auslesen + LDAP

  Alt 21. Apr 2007, 18:31
Hai!

Danke für den Tipp, über den zweiten Link habe ich zu schnell drüber gelesen, weil die Codes in C# und Visual.NET waren. Mein Fehler, sorry.

Mit ein wenig Basteln habe ich den Code nach Delphi portiert. Wenn jemanden die Lösung interessiert: Folgendes Skript liest alle User aus dem AD aus, deren Namen mit "H" beginnt, und listet alle AD-Properties und ihre Values in einer Textbox auf.

Delphi-Quellcode:
var AD : System.DirectoryServices.DirectorySearcher;
    s : System.DirectoryServices.SearchResultCollection;
    res : System.DirectoryServices.SearchResult;
    de : System.DirectoryServices.DirectoryEntry;
    prop : IENumerator;
begin

  try
    AD:=System.DirectoryServices.DirectorySearcher.Create;
    AD.SearchRoot:=DirectoryEntry.Create('LDAP://DC=gymgmunden,DC=local');
    AD.Filter:='(&(objectclass=user)(cn=h*))';

    AD.SearchScope:=SearchScope.Subtree;

    s:=AD.FindAll;

    for res in s do
    begin

      TextBox1.Text:=TextBox1.Text+'========================== '+Environment.NewLine;
      de:=res.GetDirectoryEntry;
      //MessageBox.Show(de.Properties.Count.ToString);//Kontrollausgabe
      prop:=de.Properties.PropertyNames.GetEnumerator;
      while prop.MoveNext do
        if de.Properties.Contains(prop.Current.ToString) then
          TextBox1.Text:=TextBox1.Text + prop.Current.ToString+': '
                                       + de.Properties[prop.Current.ToString].Value.ToString
                                       + Environment.NewLine;
    end;//for res in s do
  except
    on e : Exception do
      MessageBox.Show(e.Message);
  end;
Damit werde ich jetzt weiterbasteln! Danke für die Tipps!!

Stefan
Man strahlt hier nicht in Wien,
denn bald strahlt es aus Temmelin
  Mit Zitat antworten Zitat