Kompilierungsfehler

  • Hallo,

    wenn ich folgenden Code kompiliere und auf meinem Test-System ausführe bekomme ich diese Fehlermeldung:
    Auf meinem System funktioniert es aber ?(

    Spoiler anzeigen

    #include <Array.au3>

    Dim $password
    $installdir = "C:\Temp_Inst"
    DirCreate($installdir)
    FileInstall("wpp.cer",$installdir & "\wpp.cer",0)

    Local $objDomain = ObjGet("WinNT://" & @ComputerName & "" )
    Dim $filter[2] = ["user"]
    $objDomain.Filter = $filter

    $list = ""

    For $aUser In $objDomain
    $list = $list & $aUSer.Name & @CRLF
    Next

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

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

    Local $iIndex1 = _ArraySearch($Users, "Administrator", 0, 0)

    If $iIndex1 > 0 Then
    $name = $Users[$iIndex1]
    EndIf

    If $name = "Administrator" Then
    $password = "password"
    EndIf

    RunAs( $name, @ComputerName, $password, 0, "certutil.exe -addstore root wpp.cer", $installdir)
    RunAs( $name, @ComputerName, $password, 0, "certutil.exe -addstore TrustedPublisher wpp.cer", $installdir)

    http://fs1.directupload.net/images/150304/kmvnofhk.jpg

    Greetings Doc

  • Die einzige Variable im Skript deren Deklaration nicht sichergestellt ist, ist $name.
    Diese wird nur dann deklariert wenn $iIndex1 > 0. Ist dies nicht der Fall kommt bei der nächsten Abfrage If $name = "Administrator" Then der Fehler.

  • Hab den Fehler gefunden. Das Array hat mir die Antwort gegeben. Bei meinem System ist der Admin der 2. User und bei den Test-System ist der der 0. User.
    Trotzdem danke für die Hilfe!