per PHP 5 User per LDAP dem AD hinufügen?

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

  • #16
    Immer noch:
    Fatal error: Call to undefined function ldap_connect() in C:\Programme\xampp\htdocs\ldap_add2.php on line 12

    Kann ich irgendwie prüfen ob die Funktionen von ldap geladen worden sind?

    Kommentar


    • #17
      ja

      phpinfo();


      unter extensions schauen!
      tutorial: peterkropff.de schattenbaum.de tut.php-quake.net
      documentation: php.net mysql.com framework.zend.com

      Die Nachtwache!

      Kommentar


      • #18
        Über phpinfo ( ) kannst du auch gucken ob du die richtige php.ini erwischt hast ...
        Die Regeln | rtfm | register_globals | strings | SQL-Injections | [COLOR=silver][[/COLOR][COLOR=royalblue]–[/COLOR][COLOR=silver]][/COLOR]

        Kommentar


        • #19
          Okaaay, Fortschritt! Erstmal wieder vielen Dank für eure Tipps.

          Alsoo... die Extension scheint nun freigeschaltet zu sein. Hab daraufhin das Script abgeändert:
          PHP-Code:
          <?php

          echo "<html><head>";
          echo 
          "<title>LDAP-ADD Test 3</title>";
          echo 
          "</head><body>";
          $password "osaft";
          $ldaphost "ldap://192.168.172.240";
          $ldapport "389";

          $adduserAD["cn"][0] = "1";
          $adduserAD["instancetype"][0] = "2";
          $adduserAD["samaccountname"][0] = "3";
          $adduserAD["objectclass"][0] = "top";
          $adduserAD["objectclass"][1] = "person";
          $adduserAD["objectclass"][2] = "organizationalPerson";
          $adduserAD["objectclass"][3] = "user";
          $adduserAD["displayname"][0] = "4";
          $adduserAD["name"][0] = "5";
          $adduserAD["givenname"][0] = "6";
          $adduserAD["sn"][0] = "7";
          $adduserAD["company"][0] = "8";
          $adduserAD["department"][0] = "9";
          $adduserAD["title"][0] = "10";
          $adduserAD["description"][0] = "11";
          $adduserAD["mail"][0] = "12";
          $adduserAD["initials"][0] = "13";
          $adduserAD["samaccountname"][0] = "14";
          $adduserAD["userprincipalname"][0] = "15";
          //$adduserAD["profilepath"][0] =
          $adduserAD["manager"][0] = "1234"

          if (!($ldap ldap_connect($ldaphost))) {
               die (
          "Could not connect to LDAP server");
          }
          if (!(
          $res = @ldap_bind($ldap"Administrator@meyer.schmidt"$password))) {
               die (
          "Could not bind to the LDAP account");
          }
          if (!(
          ldap_add($ldap"OU=Office,OU=Benutzer,DC=meyer,DC=schmidt"$adduserAD))){
               echo 
          "There is a problem to create the account. ";
               echo 
          "Please contact your administrator!";
               exit;
          }
          ldap_unbind($ldap);

          echo 
          "</body></html>";

          ?>
          Der Server antwortet darauf wie folgt:
          Warning: ldap_add() [function.ldap-add]: Add: Server is unwilling to perform in C:\Programme\xampp\htdocs\ldap_add3.php on line 38

          Zeile 38:
          PHP-Code:
          if (!(ldap_add($ldap"OU=Office,OU=Benutzer,DC=meyer,DC=schmidt"$adduserAD))){ 
          Wie kann ich unwilling to perfom... verstehen? Fehlt da irgend eine Berechtigung? Oder harperts wieder im Script? Wäre echt super wenn wer dazu noch nen Tipp hätte. Ich hab da schon einiges mit den OUs gedreht, leider keinen Erfolg.

          Mit freundlichen Grüßen,
          DrMeissner
          Zuletzt geändert von DrMeissner; 11.09.2007, 00:03.

          Kommentar


          • #20
            Da gibts verschiedenen Fehlerquellen siehe .
            Die Regeln | rtfm | register_globals | strings | SQL-Injections | [COLOR=silver][[/COLOR][COLOR=royalblue]–[/COLOR][COLOR=silver]][/COLOR]

            Kommentar


            • #21
              Ich versteh das so, dass der Benutzer nicht genügend Rechte hat diese Aktion auszuführen. Genommen habe ich aber den Administrator, mehr Rechte kann ich doch gar nicht vergeben.

              Oder muss man den Zugriff aufs AD per PHP & Ldap noch irgendwie auf dem Server freischalten?

              Kommentar


              • #22
                evtl hilft dir das ja weiter...

                http://adldap.sourceforge.net/
                -> It`s good to be bad! <-

                http://de.php.net
                http://php-faq.de
                http://www.schattenbaum.net
                http://www.dreamcodes.com

                Kommentar


                • #23
                  Erfolg! Jedenfalls ein bisschen

                  Es klappt mit folgendem Script:
                  PHP-Code:
                  <?php
                      
                  if (extension_loaded("ldap"))
                        echo 
                  "ldap geladen<p>";
                      else
                        echo 
                  "nicht geladen<p>";
                       
                      
                  $dn "cn=stefanmeyer,ou=Benutzer,ou=meyer.schmidt,DC=meyer,DC=schmidt";

                      
                  $ad ldap_connect("ldap://192.168.172.240")
                            or die(
                  "Couldn't connect to AD!");

                      
                  ldap_set_option($adLDAP_OPT_PROTOCOL_VERSION3);

                      
                  $bd ldap_bind($ad,"adweb","osaft123."
                            or die(
                  "Couldn't bind to AD!");
                            
                      
                  $user["cn"] = "rolfschmedes";
                      
                  $user["samaccountname"] = "stefanmeyer";
                      
                  $user["objectClass"] = "user";
                      
                  //$user["displayname"] = "Stefan N. Meyer";
                      //$user["mail"] = "stefan.meyer@googlemail.com";
                      //$user["userPassword"] = "g12eheim123#";
                      //$user["userAccountControl"] = "512";
                      

                      
                  $result ldap_add($ad$dn$user);
                      
                      
                  ldap_unbind($ad);

                  ?>
                  Ergebnis dieses Scriptes:

                  Es wird ein gesperrter User in der OU Benutzer erstellt. Änder wollte ich den Status gesperrt eigentlich mit "$user["userAccountControl"] = "512";". Sobald ich diese Zeile aber dem Script hinzufüge, erscheint der alte Fehler "Server is unwilling to perform..." Das Gleiche gilt für das Setzen des Passortes sowie für die anderen auskommentierten Zeilen.

                  Ich poste es nochmal, vielleicht interessiert es ja wen Und für Lösungsvorschläge bin ich natürlich sehr dankbar!

                  Schönes Wochenende! DrMeissner

                  Kommentar

                  Lädt...
                  X