Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Filter LDAP mit mehreren Kriterien auf ein Feld

Mitglied: it4baer

it4baer (Level 1) - Jetzt verbinden

14.02.2018 um 07:43 Uhr, 158 Aufrufe, 5 Kommentare

Hallo,

ich würde gerne für den LDAP eine suche in C# bauen <- soll eine "einfache" suche für den internen Adressstamm sein.

01.
                using (PrincipalContext context = new PrincipalContext(ContextType.Domain)) 
02.
03.
 
04.
                    string name = "*Norbert*";  
05.
 
06.
                    UserPrincipal qbeUser = new UserPrincipal(context); 
07.
                    qbeUser.Name = name;
vom Prinzip funktioniert das auch (wie oben im Code), jetzt gibt es aber den Norbert 50 mal im Unternehmen und sein Nachname Li ist auch keine Hilfe <- weil wenn ich jetzt nach Li suche, finde ich alle "Lisas" <- okay ich könnte 2 Felder machen und trennen zwischen Vorname und Nachname und dann eben beide Felder befüllen, aber irgendwie soll die Usability natürlich nicht leiden...

im Feld Name steht also "Li, Norbert"

wenn ich jetzt nach "Norbert Li" suche, finde ich also nichts, ebenso "Li Norbert" findet nichts, da dass Komma noch im weg ist, also muss ich Programmtechnisch das Feld Name sowohl nach Begriff 1 ALSAUCH nach Begriff 2 Filtern,...

wie kann ich das machen?

qbeUser.Name = name[0];
qbeUser.Name = name[1];
<- überschreibt der 2. Begriff den 1.

Vielen Dank
Mitglied: snapdragon
LÖSUNG 14.02.2018, aktualisiert um 09:17 Uhr
Machs mit einem DirectorySearcher und einer LDAP Query da kannst du nach Belieben mit "und" oder "or" Verknüpfen
01.
DirectoryEntry rootEntry = new DirectoryEntry("LDAP://some.ldap.server.com"); 
02.
rootEntry.AuthenticationType = AuthenticationTypes.None; //Or whatever it need be 
03.
DirectorySearcher searcher = new DirectorySearcher(rootEntry); 
04.
searcher.Filter = "(&(objectClass=user)(objectCategory=person)(cn=*some_user_name*)(cn=*otherpart*))"; 
05.
foreach(SearchResult result in searcher.FindAll())  
06.
07.
    Console.WriteLine("account name: {0}", result.Properties["samaccountname"].Count > 0 ? result.Properties["samaccountname"][0] : string.Empty); 
08.
    Console.WriteLine("common name: {0}", result.Properties["cn"].Count > 0 ? result.Properties["cn"][0] : string.Empty); 
09.
}
Zur LDAP Query Syntax siehe
https://technet.microsoft.com/de-de/library/aa996205(v=exchg.65).aspx
Bitte warten ..
Mitglied: it4baer
14.02.2018, aktualisiert um 09:08 Uhr
bei mir kommt der Fehler:

System.NotSupportedException: "The provider does not support searching and cannot search
foreach (SearchResult result in searcher.FindAll())


der PrincipalSearcher kann aber auf meinen
DirectoryEntry rootDSE = new DirectoryEntry("LDAP://RootDSE");

zugreifen...
was mach ich Falsch?

Edit:
und wenn ich statt RootDSE die eigentliche Domain angebe, dann kommt der fehler, dass der search filter falsch ist:
System.ArgumentException: "The (&(objectClass=user)(objectCategory=person)(cn=*Test*) search filter is invalid."
Bitte warten ..
Mitglied: snapdragon
14.02.2018, aktualisiert um 09:19 Uhr
Dir fehlt die abschließende Klammer im Filter!
Deswegen hatte ich dir ja die Syntax verlinkt, das du dir da zumindest die Basics aneignest oder müssen wir hier jetzt wieder Kindergarten spielen?
Bitte warten ..
Mitglied: it4baer
14.02.2018 um 09:21 Uhr
nein, sorry...

ich habe den Fehler bereits gefunden und wollte gerade antworten...
"Danke"

jetzt muss ich noch herausfinden wie ich das schaffe, dass es "allgemein" funktioniert und man nicht die eigentliche Domain angeben muss...
=> aber das versuch ich erstmal selbst!

Danke soweit
Bitte warten ..
Ähnliche Inhalte
Microsoft Office

VBA: nach ausgewählten Kriterien filtern

Frage von BerndVorwerkMicrosoft Office7 Kommentare

Hallo an alle. Auch auf die Gefahr hin, dass ich euch so langsam auf die Nerven gehe, aber ich ...

Microsoft Office

Filter im Access Formular mit mehreren Kriterien belegen..

Frage von diaaryMicrosoft Office

Hallo liebe Leute! Ich habe ein Problem mit dem Filter in einem Formular in Access-DB. Ich möchte gerne an ...

Microsoft Office

Sverweis mit mehreren Kriterien

gelöst Frage von Florian86Microsoft Office8 Kommentare

Hallo, ich möchte aus einem 2. Tabellenblatt mit Sverweis und 2 Kriterien einen bestimmten Wert ziehen. Die folgende Formel ...

E-Mail

Kriterien eines Mailservers

Frage von mexxE-Mail12 Kommentare

Hallo zusammen, ich möchte mein Horizont als Admin erweitern und betreibe einen eigenen Mailserver (Postfix). Ich erfülle dabei bereits ...

Neue Wissensbeiträge
Internet

Datendealing im WWW Tracking Methoden immer brutaler

Information von sabines vor 8 StundenInternet

Interessanter Artikel zum Thema Tracking im WWW und die immer "besseren" Methoden des Trackings. Professor Arvind Narayanan (Princeton-Universität) betreibt ...

Erkennung und -Abwehr

Ups: Einfaches Nullzeichen hebelte den Anti-Malware-Schutzt in Windows 10 aus

Information von kgborn vor 21 StundenErkennung und -Abwehr

Windows 10 ist das sicherste Windows aller Zeiten, wie Microsoft betont. Insidern ist aber klar, das es da Lücken, ...

Windows 10

Windows 10 on ARM: von Microsoft entfernte Info - Klartext, was nicht geht

Information von kgborn vor 23 StundenWindows 10

Windows 10 on ARM ist ja eine neue Variante, die Microsoft im Verbund mit Geräteherstellern am Markt etablieren will. ...

Microsoft
TV-Tipp: Das Microsoft-Dilemma
Information von kgborn vor 23 StundenMicrosoft15 Kommentare

Aktuell gibt es in Behörden und in Firmen eine fatale Abhängigkeit von Microsoft und dessen Produkten. Planlos agieren die ...

Heiß diskutierte Inhalte
Server
Route-Befehl Unterstützung (unter CMD)
gelöst Frage von FKRR56Server36 Kommentare

Guten Tag , i.M. habe ich Probleme über den CMD-Route-Befehl ein Routing auf einen entfernten Server zuzulassen. Der Server ...

Windows 10
Windows 10 (1709) Tastur und Maus wieder einschalten?
Frage von LochkartenstanzerWindows 1028 Kommentare

Moin, Ich habe von einem Kunden einen Win10-Rechner bekommen, bei dem weder Tastatur noch Maus geht. Die Hardware funktioniert ...

Humor (lol)
Was könnte man mit einem Server machen? Idee gesucht
Frage von 2SeitenHumor (lol)15 Kommentare

Hey Zusammen Ich habe einen alten HP G2 Rackserver zu Hause rumliegen. 28GB Ram, 1xAMD Prozi mit etwa 2GHz. ...

Firewall
RB2011 Firewall Rule eine bestimmte Mac oder IP Adresse nicht zu blockieren
Frage von lightmanFirewall15 Kommentare

Hallo liebes Forum mit ihren Spezialisten. Ich habe meine Firewall so konfiguriert das kein Endgerät ohne meine Speziellen Erlaubnis ...