2000 ini einträge Prüfen

  • Hallo,

    habe folgendes vor will 2000 ini dateien durchsuchen, will ausgeben werr alles in der admin group ist.
    diese sind in einer ini eingetragen.


    computer1.ini >>

    [ADMIN_MEMBER]
    Member1=computer1/Administrator
    Member2=Service_user
    Member3=inst_user
    Member4=Admin_user


    es kann unterschiedliche anzahll an member geben sein:
    member1=...
    member2=...
    member3=...
    member4=...
    member5=...
    member6=...

    Ich will bestimmte user excluden.
    wie zum beispiel:
    computer1/Administrator
    vice_user
    inst_user
    Admin_user

    Weil die auf jeden rechner drauf sind.
    ich will nur herauskriegen wer noch zusätzlich drauf ist bzw sich selber in die gruppe hinzugefügt hat,
    kann mir da jemand einen tipp geben?

    Danke
    SubZero

    lg SubZero ;)
    ==========================================================================

    "Der Computer ist die logische Weiterentwicklung des Menschen: Intelligenz ohne Moral."

    Einmal editiert, zuletzt von subzero007 (2. Oktober 2009 um 15:37)

  • Schon wieder ein Input <-> Output Problem :rolleyes:

    Die Sektion [ADMIN_MEMBER] in ein Array einlesen (Inireadsection).
    Das Array durcharbeiten (for ... next) und jeden Eintrag mit den ausgeschlossenen Usern vergleichen (if ... then ... else).

    Bist doch jetzt Profi :D

  • Hey,

    Wenn ich Profi bin sage ich bescheid aber das dauert noch,
    ich finde an den beiträgen sollte man das nicht messen kann ja sein das der jenige sehr vielle fragen hat weil
    er nur seit etwa 3 monaten scripten bzw. autoit macht und das alles neu für ihn ist.


    Daher kann man ja ihm vielleicht ein kleines Beispiel geben was meinst du ?

    Gruß
    SubZero

    lg SubZero ;)
    ==========================================================================

    "Der Computer ist die logische Weiterentwicklung des Menschen: Intelligenz ohne Moral."

  • Klaro, mir ist nur nicht so klar was dir Probleme bereitet.
    Die Vorgehensweise oder die Umsetzung in Autoit?

    Ein Beispiel wie man eine Ini einliest, jeden Eintrag durchgeht, der Vergleich mit den ausgeschlossenen Usern?

    Man könnte auch sein Skript bis zum unklaren Vorgang posten. ;)

  • Hi,

    Spoiler anzeigen
    [autoit]

    #include <file.au3>
    #include <array.au3>
    Dim $ergebnis [1] [2]
    $inipath = "c:\temp"
    $inifiles = _FileListToArray ($inipath, "*.ini", 1)
    $count = 0
    For $i = 1 To UBound ($inifiles) - 1
    $iniread = IniReadSection ($inipath & "\" & $inifiles [$i], "Admin_Member")
    For $j = 0 To UBound ($iniread) - 1
    Switch $iniread [$j] [1]
    Case StringInStr ($iniread [$j] [1] , "Administrator") <> 0
    ContinueLoop
    Case StringInStr ($iniread [$j] [1] , "vice_user") <> 0
    ContinueLoop
    Case StringInStr ($iniread [$j] [1] , "inst_user") <> 0
    ContinueLoop
    Case StringInStr ($iniread [$j] [1] , "Admin_user") <> 0
    ContinueLoop
    Case Else
    $ergebnis [$count] [0] = StringTrimRight ($inifiles [$i], 4)
    $ergebnis [$count] [1] = $iniread [$j] [1]
    $count += 1
    ReDim $ergebnis [$count + 1] [2]
    EndSwitch
    Next
    Next
    _ArrayDisplay ($ergebnis)

    [/autoit]

    ;-))
    Stefan

  • Hey,

    erstmall vielen dank,
    Kriege einen fehler wo ich nicht weiter komme:

    [autoit]

    Func _iniladen()

    [/autoit][autoit][/autoit][autoit]

    $inifiles = _FileListToArray ($inipath, "*.ini", 1)
    $count = 0
    For $i = 1 To UBound ($inifiles) - 1
    $iniread = IniReadSection ($inipath & "\" & $inifiles [$i], "ADMIN_MEMBER")
    For $j = 0 To UBound ($iniread) - 1
    Switch $iniread [$j] [1]
    Case StringInStr ($iniread [$j] [1] , "Administrator") <> 0
    ContinueLoop
    Case StringInStr ($iniread [$j] [1] , "vice_user") <> 0
    ContinueLoop
    Case StringInStr ($iniread [$j] [1] , "inst_user") <> 0
    ContinueLoop
    Case StringInStr ($iniread [$j] [1] , "Admin_user") <> 0
    ContinueLoop
    Case Else
    $ergebnis [$count] [0] = StringTrimRight ($inifiles [$i], 4); ==> Subscript used with non-Array variable.:
    $ergebnis [$count] [1] = $iniread [$j] [1]
    $count += 1
    ReDim $ergebnis [$count + 1] [2]
    EndSwitch
    Next
    Next
    _ArrayDisplay ($ergebnis)
    EndFunc ;==>_iniladen

    [/autoit]


    F:\autoit\entwicklung\swscan_admin\01.au3 (70) : ==> Subscript used with non-Array variable.:
    $ergebnis [$count] [0] = StringTrimRight ($inifiles [$i], 4)
    $ergebnis ^ ERROR


    eine idee?

    lg SubZero ;)
    ==========================================================================

    "Der Computer ist die logische Weiterentwicklung des Menschen: Intelligenz ohne Moral."

    Einmal editiert, zuletzt von subzero007 (2. Oktober 2009 um 13:44)

  • ich weiss nicht ob ich es richtig verstanden habe aber folgendes habe ich schoin getan aber hat nicht geholfen:

    [autoit]

    Global $ergebnis

    [/autoit]

    lg SubZero ;)
    ==========================================================================

    "Der Computer ist die logische Weiterentwicklung des Menschen: Intelligenz ohne Moral."