Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Prism Alle lokalen, aktivierten Benutzerkonten auslesen + LDAP (https://www.delphipraxis.net/90651-alle-lokalen-aktivierten-benutzerkonten-auslesen-ldap.html)

Steve9825679 21. Apr 2007 09:23


Alle lokalen, aktivierten Benutzerkonten auslesen + LDAP
 
Hallo!

Ich suche eine Methode, die mir alle lokalen Benutzeraccounts eines Windows-Rechners ausliest. Wichtig ist, dass das ganze auf .NET aufsetzt - ich habe einige Beiträge hier gefunden, die jedoch nur unter Win32 einwandfrei laufen. Kann mir jemand einen Hinweis geben?

Und wenn man das ganze um einen Verzeichnisdienst erweitert - mit welcher Komponente kann ich LDAP-Abfragen abfeuern?

Danke! Stefan

mkinzler 21. Apr 2007 09:26

Re: Alle lokalen, aktivierten Benutzerkonten auslesen + LDAP
 
http://www.aspheute.com/artikel/20011121.htm
http://www.it-visions.de/lserver/Cod...s.aspx?id=2878

Steve9825679 21. Apr 2007 09:43

Re: Alle lokalen, aktivierten Benutzerkonten auslesen + LDAP
 
Hi!

Danke für die Antwort.

Aber ich muss meine Frage genauer formulieren: Ich suche die Lösung nicht für ASP, sondern für einen Windows Forms - Anwendung!

Danke, Stefan

mkinzler 21. Apr 2007 09:47

Re: Alle lokalen, aktivierten Benutzerkonten auslesen + LDAP
 
Siehe 2. Link

Steve9825679 21. Apr 2007 18:31

Re: Alle lokalen, aktivierten Benutzerkonten auslesen + LDAP
 
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

uranop 31. Aug 2008 12:31

Re: Alle lokalen, aktivierten Benutzerkonten auslesen + LDAP
 
waere interessant,
wenn du uns benachrichtigen wuerdest wie du das nun fertig bekommen hast : )


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:00 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz