Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

ldap-search filter problem bei mehreren kriterien

Frage Entwicklung PHP

Mitglied: risker

risker (Level 1) - Jetzt verbinden

08.10.2009, aktualisiert 14:22 Uhr, 6242 Aufrufe

Hallo,

Ich baue momentan an einer kleinen Telefonliste in PHP.

Diese soll per Filter alle Kontakte+User auslesen, welche auch eine Telephonnummer haben, außerdem sollen Einträge mit dem Namen Schule nicht erwähnt werden.

Folgendes hat ich mir überlegt (erstmal nur Telefonnummer + Schule

01.
<?php 
02.
/* 
03.
	Author: - 
04.
	Datum: 08.10.2009 
05.
	Funktion: Aufbau eines neuen Telefonverzeichnisses auf Basis des ADs 
06.
*/ 
07.
	// Allgemeine Variablen, welche nötig für den LDAP Zugriff sind 
08.
	$ldap_server = servername'; 
09.
	$ldap_user = 'username'; 
10.
	$ldap_password = 'passwort'; 
11.
	$ldap_basedn = 'dn'; 
12.
	// Nach was soll gesucht werden? 
13.
	#$filter = "(|(objectClass=contact)(objectClass=user))"; 
14.
	$filter = "(&(!displayName=*Schule*)(telephoneNumber=*))"; 
15.
	// Verbinde mit Ldap Server 
16.
	$ds = ldap_connect($ldap_server) or die (ldap_error($ds)); 
17.
		// Angeblich nötig für den Zugriff auf ein Win2003 AD 
18.
		ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3);  
19.
		ldap_set_option($ds, LDAP_OPT_REFERRALS, 0);  
20.
		// Wenn Verbindung erfolgreich: 
21.
		if($ds){ 
22.
			$ldapbind = @ldap_bind($ds,$ldap_user,$ldap_password) or die (ldap_error($ds)); 
23.
			$search = ldap_search($ds,$ldap_basedn,$filter) or die (ldap_error($ds)); 
24.
			$data = ldap_get_entries($ds,$search); 
25.
			$anzahl = ldap_count_entries($ds,$search); 
26.
			echo "Es gibt ".$anzahl." Einträge im AD"; 
27.
			 
28.
			for ($i=0; $i<$anzahl;$i++) { 
29.
				$ergebnis[$i]["sn"] = utf8_decode($data[$i]["sn"][0]); 
30.
				$ergebnis[$i]["givenname"] = utf8_decode($data[$i]["givenname"][0]); 
31.
				$ergebnis[$i]["telephoneNumber"] = utf8_decode($data[$i]["telephonenumber"][0]); 
32.
				$ergebnis[$i]["physicalDeliveryOfficeName"] = utf8_decode($data[$i]["physicaldeliveryofficename"][0]); 
33.
34.
			 
35.
		}else{ 
36.
			echo "Fehler!"; 
37.
38.
		 
39.
		 
40.
echo "<html>"; 
41.
echo "<table border=0>"; 
42.
for ($i=0; $i<$anzahl; $i++) { 
43.
    echo "<tr>"; 
44.
    echo "<td width=200>" . $ergebnis[$i]["sn"] . ", ".$ergebnis[$i]["givenname"]. "</td>"; 
45.
    echo "<td width=200>" . $ergebnis[$i]["telephoneNumber"] . "</td>"; 
46.
    echo "<td width=150>" . $ergebnis[$i]["physicalDeliveryOfficeName"] . "</td>"; 
47.
48.
echo "</table>"; 
49.
 
50.
echo "</body></html>"; 
51.
		 
52.
	 
53.
?>
Das funktioniert allerdings nur, wenn ich den Filter auf (telephoneNumer=*) setze, sonst krieg ich immer die Fehlermeldung: Bad Search Filter.


Hat jemand eine Idee für mich? Habe mich soweit ich das sehen kann, an diese Netscape SDK Discovery und self-adsi gehalten.


Grüße
Risker


Edit: Mir hat bei (!displayname=Schule) ein Klammersatz gefehlt. (!(displayname=schule))
Ähnliche Inhalte
Outlook & Mail
gelöst Outlook 2010 E-Mail Filter ohne Windows Search Dienst ? (4)

Frage von danieluk15 zum Thema Outlook & Mail ...

VB for Applications
gelöst DB-Abfrage in Excel mit Kriterien aus Excel (11)

Frage von JensDND zum Thema VB for Applications ...

Windows Server
gelöst Windows Server 2016 - Windows Search installieren oder nicht? (6)

Frage von jojo0411 zum Thema Windows Server ...

Neue Wissensbeiträge
Heiß diskutierte Inhalte
iOS
IPhone wird ferngesteuert Hacker? (21)

Frage von Akcent zum Thema iOS ...

Vmware
VMware ESX - Start einer VM verhindern (19)

Frage von emeriks zum Thema Vmware ...

Rechtliche Fragen
gelöst Geschäftsführer Email gefaked (18)

Frage von xbast1x zum Thema Rechtliche Fragen ...