Probleme mit UDF adfunctions.au3

  • Servus Leutz,
    so ich will mit der Funktion

    [autoit]

    _ADGetObjectsInOU(ByRef $ObjectArray, $ou, $filter = "name='*'", $searchscope = 2, $datatoretrieve = "sAMAccountName", $sortby = "sAMAccountName")

    [/autoit]


    aus der adfunctions.au3 --> link
    Die Objekte aus einer OU auslesen.
    Ich komme aber mit dem 1. Attribut im Function Call nicht klar (ByRef $ObjectArray)
    Das Problem ist das er auch nicht dokumentiert ist.
    Hier ist das was als Kommentar über der Funktion im Code steht.

    [autoit]

    _ADGetObjectsInOU
    ; Returns an array of the objects in an OU
    ; $ou : The OU to retrieve from
    ; $filter : optional, default "name'*'". An additional LDAP filter if required.
    ; $searchscope : optional, default 2. 0 = base, 1 = one-level, 2 = sub-tree
    ; $datatoretrieve : optional, default "Name". A comma-seperated list of values to retrieve. More than one value will create
    ; a 2-dimensional array, array[0][0] will contain the number of items returned, which start at array[1][0]

    [/autoit]

    Hat jemand von euch schon Erfahrungen mit der UDF?

    c ya
    Paddy

    P.S. Für was steht eigentlich das ByRef? ?(

  • Hallo,

    ich habe zwar mit der UDF auch nichts gemacht, aber so wie diese sich liest, ist in diesem Fall das Argument $ObjectArray die Liste der Objekte und als "normalen" Rückgabewert gibt es 1 für Erfolg und 0 für Fehler.

    ByRef bedeutet, das die Variable nicht als Kopie von der Funktion übernommen wird sondern die Variable als solches (Speicheradresse) und kann damit direkt von der Funktion verändert werden.
    In diesem Fall übergibst du also eine Variable bei $ObjectArray in die die Funktion alle Objekte reinschreibt.


    Viele Grüße
    Stilgar