Wert an autoit script bei laufzeit übergeben

  • Hallo,

    ich habe folgendes vor.
    ich habe ein AutoIT Script in dem ich überprüfen möchte ob ein Benutzer an einem PC angemeldet ist.

    Wir machen das an anderen stellen mit einer kleinen batch-datei und folgendem code

    Code
    tasklist.exe /S %PCNAME% /V | %SystemRoot%\system32\find.exe /i "explorer"
    if /i not  %errorlevel%.==0. (
    echo..*Kein Explorer-Task gefunden.
    ) else (
    rem goto done
    )

    Jetzt stehe ich nur vor der frage wie rufe ich das aus, um den richtigen rückgabewert zu erhalten.

    Wenn ich es wie folgt auf rufe

    [autoit]

    if RunWait("tasklist.exe /S "&$PCNAME&" /V | \\"&$PCNAME&"\system32\find.exe /i 'explorer'") = True Then
    msgbox(0,"","User ist angemeldet, ABBRUCH")
    Return
    Endif

    [/autoit]

    Dann bekomme ich immer true zurück.

    Jetzt habe ich mir überlegt ob ich es evtl als cmd line ausführe und von da einen Wert erhalte. Jedoch hab ich keine Idee wie ich den Wert an mein autoit script zurückgeben kann.

    ich bin der Meinung das ich es mit

    [autoit]

    RunWait(@Comspec & "tasklist.exe /S "&$PCNAME&" /V | \\"&$PCNAME&"\system32\find.exe /i 'explorer'")

    [/autoit]

    aufrufen kann,
    und auch mit

    [autoit]

    _RunDos("tasklist.exe /S "&$PCNAME&" /V | \\"&$PCNAME&"\system32\find.exe /i 'explorer'")

    [/autoit]


    wie gesagt fehlt mir bei allen Lösungsansätzen der weg zurück da der exitcode und auch der errorcode immer 0 sind.

    Ich wäre echt dankbar, wenn mich jemand in die richtige Richtung schubsen könnte.

    Viele Grüße
    crdy

    Einmal editiert, zuletzt von crdy (10. August 2012 um 09:59)

  • [autoit]

    $rechner = "PCName"

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

    $wmiRoot = ObjGet("winmgmts:\\" & $rechner & "\root\CIMV2")
    If @error Then
    MsgBox(48, "Fehler", "Rechner existiert nicht oder Firewall aktiv!")
    Exit
    EndIf

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

    $wmiColl = $wmiRoot.ExecQuery("Select * FROM Win32_ComputerSystem ")
    For $wmiObj In $wmiColl
    MsgBox(0, "", String($wmiObj.UserName))
    Next

    [/autoit]

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.