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, 296 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: 135333
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: 135333
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 ..
Mitglied: 135333
LÖSUNG 14.02.2018, aktualisiert um 09:27 Uhr
Bitte warten ..
Ähnliche Inhalte
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 ...

Exchange Server

Signaturen aus AD - LDAP Attribut für Feld Webseite

gelöst Frage von hesperExchange Server4 Kommentare

Schönen guten Morgen! wir werden bei uns jetzt wohl die Signaturen zentral über die Transportregeln des Exchange (2013) verwalten. ...

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
Backup

2016 - Restore mit WBAdmin - iSCSI Device als Sicherungsziel

Erfahrungsbericht von Henere vor 1 TagBackup1 Kommentar

Servus zusammen, was mich eben einige graue Haare gekostet hat Server 2016. Ich habe meinem Server eine weitere M2 ...

Humor (lol)
(Part num your Hacked phone. +XX XXXXXX5200)
Erfahrungsbericht von Henere vor 3 TagenHumor (lol)7 Kommentare

Mein Handy hat aber ne ganz andere Endnummer. Muss ich mir jetzt Sorgen machen ? :-) Vielleicht betrifft es ...

Exchange Server

Letztes Update für Exchange 2016 CU9 war in gewisser Weise destruktiv

Erfahrungsbericht von DerWoWusste vor 3 TagenExchange Server9 Kommentare

Kurzer Erfahrungsbericht zu Exchange2016-KB4340731-x64 Der Exchangeserver hat wie gewöhnlich versucht, es in der Nacht automatisch zu installieren - abgesehen ...

Erkennung und -Abwehr

Neue Sicherheitslücke Foreshadow (L1TF) gefährdet fast alle Intel-Prozessoren

Information von Frank vor 4 TagenErkennung und -Abwehr3 Kommentare

Eine neue Sicherheitslücke, genannt Foreshadow (alias L1TF) wurde auf der Usenix Security 18 von einem Team internationaler Experten veröffentlicht. ...

Heiß diskutierte Inhalte
E-Mail
Deutsche e-Mail Adresse auf iPhone in Katar. Nur Probleme
Frage von vanTastE-Mail22 Kommentare

Moin, ich habe hier in Deutschland auf einem Exchange 2013 eine e-Mail Adresse (name@domain.de) für einen Kollegen in Katar ...

Windows Server
Domäne beitreten nicht möglich, unter VMWare windows Server 2016 Core
Frage von AmanuelWindows Server11 Kommentare

Ich habe auf meinem Mac unter VMWare Windows Server 2016 Core und Windows Server 2016 Desktopversion installiert. Beide Systeme ...

RedHat, CentOS, Fedora
OTRS 5 kann keine Mails mehr abrufen
gelöst Frage von opc123RedHat, CentOS, Fedora11 Kommentare

Hallo, OTRS kann keine Mails mehr abrufen. Verschicken ja. Dadurch kommen keine Tickets mehr rein. Gibt es Anlaufpunkte was ...

Windows Server
Server 2016 Autotiering Storage Space
Frage von HenereWindows Server11 Kommentare

Servus, ich habe jetzt ein StorageSpace auf einem Server 2016 in Betrieb zum Testen. 1x M2 mit 512GB (970pro) ...