AD Attribute

  • Hallo zusammen

    Ist es möglich im AD nur nach Attribut initials zu suchen wenn man den Namen vom User nicht weis?

    Gruss Roland

    Ich bin auf dem Kriegsfuß mit der Rechtschreibung, meistens gewinnt sie.

  • Kein Problem.
    Mit meiner AD UDF und Funktion _AD_GetObjectsInOU sollte das gehen.

  • Ich arbeit schon mit deiner UDF und finde die sehr gut.

    Wenn mit dem Namen gesucht wird funktioniert ales bestenst, aber wenn ich nach dem Kürzel suche wird nichts gefunden.

    Es handelt sich hier um ein Telefonbuch für die Mitarbeiter.

    Hier noch ein kleiner Auschnid von dem Code:

    AutoIt
    Global $sOU = ""
    Global $sLDAPFilter = "(&(objectCategory=Person)(ANR=" & GUICtrlRead($ADuser) & "))" ;Use ANR (Ambiguous Name Resolution).
    Global $sDataToRetrieve = "DisplayName,initials,mail,telephoneNumber,Mobile,physicalDeliveryOfficeName" ;sAMAccountName,department,distinguishedName,Title
    
    _AD_Open()
    Global $aUserIDs = _AD_GetObjectsInOU($sOU, $sLDAPFilter, 2, $sDataToRetrieve, "displayName")
    If @error Then
        MsgBox(64, "Active Directory Functions", "No objects found")
    EndIf
    _AD_Close()

    Ich bin auf dem Kriegsfuß mit der Rechtschreibung, meistens gewinnt sie.

  • Welchen Fehler (@error und @extended) erhältst Du, wenn Du nach dem Kürzel suchst? Wie lautet dann der benutzte LDAP-Filter?

  • Den benutzten LDAP-Filter ist der gleiche wie oben im CODE.

    Da ich beim Namens & Büro suche das Kürzel angezeigt bekomme, dachte ich sollte es ja auch für das Kürzel gehen.

    Im AD Register unter Allgemein / Büro wird die Tel.-Nr. Kurzwahlnummer hinterlegt und wenn ich nach Kürzwahl nummer suche wird mir auch das Kürzel angezeigt.


    @error Fehler nach Kürzel suche:

    3 - No records returned from Active Directory. $sFilter didn't return a record

    Ich habe es auch schon mit _AD_GetObjectAttribute von deiner UDF versucht. Aber mit initials findet gehts auch nicht.

    Vermutlich mache ich etwas falsch oder verstehe die ganze LDAP funktion nicht :rolleyes:

    Danke & Gruss

    Ich bin auf dem Kriegsfuß mit der Rechtschreibung, meistens gewinnt sie.

  • Hast du mal geschaut, was dir _AD_GetObjectsInOU zurück gibt (danach _ArrayDisplay($aUserIDs)) bzw. Casesensitiv ist das nicht oder (DisplayName <> displayName)?

  • ANR umfasst nur einen Satz an Attributen die durchsucht werden. Die Initialen sind da nicht mit dabei. Guckst Du.

    Du musst also den den LDAP Filter entsprechend anpassen.

  • Danke für eure Denkanstösse und der gute Link der mir weiter geholfen hat.

    Konnte es jetzt umsetzen und funktioniert.

    Ich bin auf dem Kriegsfuß mit der Rechtschreibung, meistens gewinnt sie.