AD: Nach bestimmtem Benutzer suchen

daschii

Mitglied
Hallo zusammen

Ich möchte, in meiner AD nach einem bestimmten Benutzer suchen.
Dies kann man doch sicher via dem search.Filter bewerkstelligen - Doch leider
weiss ich nicht wie.

Kann mir da jemand helfen?

Besten Dank und einen schönen Morgen,
daschii
 
Code:
System.DirectoryServices.DirectoryEntry entry = 
   new System.DirectoryServices.DirectoryEntry("LDAP://Path");
System.DirectoryServices.DirectorySearcher mySearcher = new 
   System.DirectoryServices.DirectorySearcher(entry);
mySearcher.Filter = ("(anr= John)");
foreach(System.DirectoryServices.SearchResult result in 
   mySearcher.FindAll()) 
{
   Console.WriteLine( result.GetDirectoryEntry().Path );
}

http://www.codeproject.com/csharp/ADTester.asp
 
Hallo Norbert,

Besten Dank für deine Hilfe - Wirklich vorbildlich, wie schnell Du immer zur Stelle bist!

Ich hätte aber noch eine Frage:

Ich möchte, dass Anstatt "John" die Variable sql_alias dort steht.
Bsp:

Code:
while (myReader.Read())
{	

				
/Auslesen der PersonId und Speichern in String			
string sql_alias = myReader["PersonId"].ToString();
/*Nur TemporärMessageBox.Show(sql_alias);*/

				
System.DirectoryServices.DirectoryEntry entry = new System.DirectoryServices.DirectoryEntry("LDAP://arptest,DC=intern");
System.DirectoryServices.DirectorySearcher mySearcher = new System.DirectoryServices.DirectorySearcher(entry);
mySearcher.Filter = ("(anr= John)");

foreach(System.DirectoryServices.SearchResult result in 
mySearcher.FindAll()) 
{
Console.WriteLine( result.GetDirectoryEntry().Path );
}

Also dass Anstelle von "John" sql_alias ist.
Kannst Du/jemand mir helfen? :)

Danke und Gruss,
daschii

Edit: Und wenn ich noch John Suche - Nach welchem Objekt Suche ich dann? Nach dem displayName?
Hervorragend wäre es nämlich, wenn ich nach dem userPrincipalName suchen könnte.....
 
Zuletzt bearbeitet:
Das sind jetzt aber Grundlagen, die du dir unbedingt so schnell als möglich erarbeiten solltest!
Code:
mySearcher.Filter = ("(anr="+sql_alias+")");
 
Hallo Norbert,

Oops, stimmt - Hatte ja das gleiche Problem auch schon mit dem SQL-String.

Anbei noch eine letzte Frage:
Für mich wäre es Ideal, wenn ich Nach dem UserPrincipalName suchen könnte, Optional auch Emailadresse.

Kannst Du mir da nochmals helfen? :)
Besten Dank

Grüsse,
daschii
 
Zuletzt bearbeitet:
Schau dir den Link an, den ich gepostet habe. Die Infos sollten reichen dass du an alles kommst was du brauchst. Gegebenenfalls musst du selber ein wenig suchen.
 
Hallo Norbert,

Tut mir wirklich furchtbar leid, aber ich finde keine Lösung.

Und unter dem von Dir angegebenen Link finde ich auch keinen Lösungsansatz.....
 
Sodala......Guten Morgen :)

Hab nun schon die ganze Zeit gesucht und bin zu dem Resultat gelangt, dass der Filter folgendermassen aussehen müsste:

mySearcher.Filter =("(mail = test@arp.com)");

Die Betonung liegt auf müsste!
Leider funktioniert es so auch nicht. Vielleicht bringt es etwas, wenn ich die Expection Ex Meldung poste:

{"An invalid dn syntax has been specified" }

Hoffe, jemand kann mir helfen.

Schöne Grüsse,
pascal
 
UserPrincipal müsste der Canonical Name sein, wenns mich nicht ganz täuscht, ergo das Kürzel cn.
Aber da gibts eh super Infos im Netz, Stichwort LDAP, denn darauf baut das Active Directory auf.
 
Norbert Eder hat gesagt.:
UserPrincipal müsste der Canonical Name sein, wenns mich nicht ganz täuscht, ergo das Kürzel cn.
Aber da gibts eh super Infos im Netz, Stichwort LDAP, denn darauf baut das Active Directory auf.

Ist mir klar, und über die Theorie der AD weiss ich auch Bescheid.

Meine Frage stellt sich: Wie kann ich z.B. nach den UserPrincipal oder nach dem mail suchen?

Habs schon verschiedenst versucht, bekomme aber immer die Fehlermeldung:
"an invalid dn syntax has been specified".
 
Zurück