Ankündigung

Einklappen
Keine Ankündigung bisher.

LDAP Computer in Tabelle speichern

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • LDAP Computer in Tabelle speichern

    Hallo zusammen

    Ich bin zur Zeit an einer Aufgabe dran, komme aber nicht mehr weiter.

    Die Aufgabe:
    Per LDAP alle Computer aus der OU "Workstation Windows 7 (64Bit)" auslesen und diese in einer Tabelle darstellen.

    PHP-Code:
    <?php

                    
    // Die Adresse des LDAP-Servers
                    
    $ds=ldap_connect("ldap://192.168.1.12");
                    
    //Benutzername und Passwort für den AD-Zugriff
                    
    $benutzer "services@domain.ch";
                    
    $pw "password";
                    
                    
    // Mit LDAP-Server verbinden:
                    
    if ($connect $ds) {
                        echo 
    "Verbindung erfolgreich <br />";
                    } else {
                        die(
    "Keine Verbindung zum LDAP-Server möglich! <br />");
                    }

                    
    ldap_set_option($connectLDAP_OPT_PROTOCOL_VERSION3);
                    
    ldap_set_option($connectLDAP_OPT_REFERRALS0);

                    
    // Anmeldung druchführen
                    
    if ($bind = @ldap_bind($connect$benutzer$pw)) {
                        echo 
    "Anmeldung erfolgreich <br /><p>";
                    } else {
                        die(
    "Anmeldung fehlgeschlagen. <br /><p>" );
                        }
                    
                    
    $filter "OU=Workstation Windows 7 (64Bit)"
                    
    $base_dn "DC=domain,DC=ch";
                    
    $sr ldap_search($ds$base_dn$filter);
                                
                    echo 
    "Suchergebnis ergab: ".$sr."<p>";
                    
                    
    // Suche starten: 
                    
    if (!($sr=@ldap_search($ds,$base_dn,$filter))) { 
                         die(
    "Durchsuchen des LDAP-Servers fehlgeschlagen."); 
                
                    
    $anzahl "Anzahl gefundener Eintrage: " ldap_count_entries($ds$sr);
                    echo 
    "$anzahl";
    Ausgegeben bekomme ich aber nur:
    Code:
    Verbindung erfolgreich 
    Anmeldung erfolgreich 
    Suchergebnis ergab: Resource id #3
    Die Struktur im AD:

    - Domain
    ----- Standort1
    ---------- Workstation Windows 7


    Ich habe wirklich schon etliche Dinge ausprobiert, geändert, hinzugefügt, neu gemacht - scheine aber irgendwie einen Knüppel im Hirn zu haben, weshalb ich einfach nicht sehe, was es wohl sein könnte - er sollte ja zumindest die Anzahl Einträge anzeigen...

    Ich würde mich sehr freuen, wenn mir jemand bei dieser Aufgabe helfen würde.

    Ich freue mich über jegliche Antworten und Erklärungen

    Gruss


  • #2
    http://de1.php.net/ldap_search
    Zitat von nikosch
    Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.

    Kommentar


    • #3
      Danke für den Link, hilft mir aber leider nichts.
      Ich habe bereits etliche Beiträge dazu durchgelesen und ausprobiert.
      Mit normalen Usereinträgen ging es ja auch, aber seit ich versuche die Computer aus der "Workstation Windows 7 (64Bit)" OU zu ziehen, kriege ich es einfach nicht mehr hin.
      Von einem fortgeschrittenen User habe ich erwartet, dass er mir sagen kann was in meinem Code falsch ist oder was ich anders machen soll und nicht nur ein stumpfer Link ohne jeglichen Kommentar.

      Ich freue mich auf weitere Antworten

      Gruss

      Kommentar


      • #4
        Schau dir an, was die Funktion zurück gibt. Eine Resource. Das Example unten zeigt auch, wie es weiter geht.
        Zitat von nikosch
        Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.

        Kommentar


        • #5
          Welches Example?
          Wo?
          Wie was weiter geht(search-Abfrage, Tabelle, Ausgabe)?

          Solche Antworten helfen mir nicht, wenn du wie mit dem Finger auf das ganze Blatt zeigst und sagst "da ist der Fehler".

          Ich hoffe jemand kann mir ein wenig verständlicher bei meinem Problem helfen.

          Gruss

          Kommentar


          • #6
            Das Example. http://prntscr.com/4saz49
            Wie du es machst:
            PHP-Code:
            $sr ldap_search($ds$base_dn$filter);                      
            echo 
            "Suchergebnis ergab: ".$sr."<p>"
            Zitat von nikosch
            Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.

            Kommentar


            • #7
              PHP-Code:
                              $filter "(|(ou = Workstation Windows 7 (64Bit)*)(objectClass=computer*))"
                              
              $base_dn "o=domain,c=ch";
                              
              $justthese = array("ou""objectClass");
                              
              69                $sr ldap_search($ds$base_dn$filter$justthese);
                                          
              71                $info ldap_get_entries($ds$sr);
                              
                              echo 
              $info["count"]." gefundene Einträge<p>"
              Ausgabe:
              Warning: ldap_search(): Search: Bad search filter in C:\xampp\htdocs\ldap.php on line 69

              Warning: ldap_get_entries() expects parameter 2 to be resource, boolean given in C:\xampp\htdocs\ldap.php on line 71
              Verstehe nich ganz wo da der Boolean sein soll(dachte die Suche gibt Ergebnisse zurück und nicht True oder False) und was an dem ldap_search falsch ist...

              Würde mich sehr freuen wenn mir das jemand korrigieren könnte.

              Gruss

              Kommentar


              • #8
                Verstehe nich ganz wo da der Boolean sein soll(dachte die Suche gibt Ergebnisse zurück und nicht True oder False
                Würde sagen, die zweite Meldung ist ein Folgefehler weil schon ldap_search() ein false zurückgibt eben wegen dem Bad search filter . Da solltest du ansetzen, siehe erste Fehlermeldung.

                http://php.net/manual/de/function.ldap-search.php

                Rückgabewert: eine Such-Ergebnis-Kennung im Erfolgsfall, FALSE im Fehlerfall.
                Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
                PHP.de Wissenssammlung | Kein Support per PN

                Kommentar

                Lädt...
                X