Lokale User auslesen und in Variablen speichern

  • Hallo,

    ich bin absoluter Anfänger was AutoIt angeht.
    Bisjetzt konnte ich mich auch mit Hilfe des Forums ganz gut durchklicken.
    Nur jetzt komme ich nicht weiter. Wahrscheinlich zu viel Input ;)

    Ich habe erfolgreich die User auslesen können mit folgenden Skript:

    Wie bekomme ich aber die Werte in Variablen ?


    Greetings Doc

  • Dein(e) Benutzername(n) sind doch innerhalb der For-Schleife (weil z.B. an einem Server mehr als ein User möglich wäre) schon in der Variablen '$aUSer.Name'.

    Was willst Du da noch ? Oder was habe ich falsch verstanden ?

    Zur Nutzung dieses Forum's, ist ein Übersetzer für folgende Begriffe unerlässlich:

    "On-Bort, weier, verscheiden, schädliges, Butten steyling, näckstet, Parr, Porblem, scripe, Kompletenz, harken, manuel zu extramieren, geckukt, würglich, excell, acces oder Compilevorgeng"

  • [autoit]


    $Users=stringsplit($list,@crlf,1+2)
    ReDim $Users[Ubound($Users)-1]
    _arrayDisplay($Users)

    [/autoit]


    Das Redim ist, um die letzte leere Zeile herauszubekommen. Ansonsten wird einfach immer beim @crlf getrennt. Die User stehn dann im Array und du kannst mit einer for-Schleife alle Werte durchgehen
    Bsp:

    [autoit]


    for $i=0 to ubound($Users)-1 step 1
    ConsoleWrite($Users[$i]&@crlf)
    next

    [/autoit]

    (Man könnte auch mittels ReDim das ganze oben machen, statt die User erst in nem String zu speichern und den dann zu trennen.)

  • Du kannst keine Variablenname während der laufzeit erfinden. Genau dafür sind Arrays ja da. Du kannst jetzt einfach irgendwo
    $Users[0] nutzen. dort steht dann der erste User drin. Wenn du auf den zweiten zugreifen willst machst du das über $User[1], und so weiter.
    An sich ist es auch normal übersichtlicher, wenn man nicht tausende Variablen hat.

    Wenn du das mit $name1,$name2,... haben willst statt $name[1],$name[2],... müsstest du schon beim Programmieren wissen, wie viele Variablen du mit $nameX anlegen müsstest.
    Es macht nicht allzuviel Sinn, 100 Variablen anzulegen, damit auch bei jedem die Anzahl der User richtig gespeichert werden kann.

    Wenn dir nur die ersten 2 User wichtig sind kannst du auch einfach
    $name1=$Users[1]
    $name2=$Users[2]
    nutzen,...
    oder gleich beim erstellen nur die ersten beiden in der for-Schleife erstellen.
    Eine for Schleife hat einfach eine Zahl, die immer um einen Wert verändert wird, z.B. eins größer wird. Ein Array beginnt bei 0 und hat ubound($array) Elemente in sich.
    Auf jedes einzelne Element greist du mittels $array[X] zu. Da es bei 0 beginnt geht die Schleife bis Ubound($array)-1. Du kannst dir ein Array wie eine Liste vorstellen, in der ganz viele Werte stehen.
    Die Liste wird dir auch durch das _arrayDisplay angezeigt (dafür brauchst du den include oben: #include <array.au3>)