<?php


// Base DN bezeichnet die oberste OU unter der die User zu finden sind. 
$basedn = "ou=OUHochschulnetzwerk,dc=hsnet,dc=hs-ludwigsburg,dc=de";
$server = "141.10.128.30:389";

// da der Zugriff auch ohne Anmeldung möglich sein soll, hab ich einen extra User im AD angelegt, um mich mit dem Server zu verbinden.

$username = "LDAPqueryUser";
$password = "ldHS332";

$ldap_port = "389";

// LDAP Abfrage 
// ich hab einen erweiterten Filter genommen, da ich nicht nur die User des AD haben wollte, sondern auch Kontakteinträge.
// $filter = "(&(objectClass=user)(objectCategory=person)(cn=*))";
$filter = "(&(|(objectClass=user)(objectClass=contact))(objectCategory=person)(cn=*))";

// Verbindung zum AD herstellen
$connectid = ldap_connect($server);
  if($connectid){
   echo "connectid Erfolgreich<br>";
  }else{
   echo "connectid Nicht erfolgreich<br>";
  }

// Ihr könnt dies auch nutzen, um z.B. Usernamen und Passwort z.B. fürs Intranet zu verifizieren.
$binding = ldap_bind($connectid,$username,$password) or die("Fehler");

  if($binding){
   echo "binding Erfolgreich<br>";
  }else{
   echo "binding Nicht erfolgreich<br>";
  }

// AD auslesen
$sr = ldap_search($connectid,$basedn,$filter);
$result = ldap_get_entries($connectid,$sr);

  if($search){
   echo "search Erfolgreich<br>";
  }else{
   echo "search Nicht erfolgreich<br>";
  }


  if($result){
   echo "result Erfolgreich<br>";
  }else{
   echo "result Nicht erfolgreich<br>";
  }

// in $result sind nun alle User mit allen Informationen enthalten.
echo 
print_r($result);

?>