Probleme mit AutoIt auf Virtueller Maschine

  • Hallo Zusammen,
    wir benutzen seit geraumer Zeit AutoIt-Skripte um auf Virtuellen Maschinen Benutzereingaben zu simulieren.

    Im wesentlichen funktioniert das auch, aber:
    * das Skript erkennt das Fenster und aggiert entsprechend
    * das Fenster wird nicht geschlossen
    * die Log-Datei zeigt, dass das Skript 100x und mehr ausgeführt wurde
    Erst wenn man sich auf der VM per Remote anmeldet wird das entsprechende Fenster geschlossen.

    Kennt jemand das Phänomen/Problem?

    Danke im voraus.
    Knut

    Wir verwenden: Win7 mit ACAD mechanical 2010
    anbei ein Beispiel

    #include <Date.au3>
    ; Fenstertitel
    Opt("WinTitleMatchMode", 2)
    ; Datumseintrag in Protokolldatei
    $Datum=string(@Year&@Mon&@MDAY)
    $file = FileOpen("X:\AutoIt_"&$Datum&".log", 1)
    FileWrite($file,_Now() & ", " & @UserName & ", AutoIt - Lizenzinfo - gestartet" & @CRLF)
    FileClose($file)
    WinWait("Lizenz entliehen")
    $text="Lizenz entliehen aktiv"
    $Datum=string(@Year&@Mon&@MDAY)
    $file = FileOpen("X:\AutoIt_"&$Datum&".log", 1)
    If $file = -1 Then Exit
    ;MsgBox(0, "Error", "Unable to open file.")
    ;AutoIT Eintrag in Protokolldatei
    $text="Lizenz Info geschlossen!"
    FileWrite($file,_Now() & ", " & @UserName & ", >>" & $text & "<<" & @CRLF)
    FileClose($file)
    WinActivate("Lizenz entliehen")
    send("{ENTER}")
    Run(@ScriptFullPath)
    ; Finished!

  • Hallo KNUT265.

    Bitte nutze für dargestellte Scripte folgendes: "spoiler" & "autoit", wobei immer in [ und ] gesetzt. Du kannst das machen, indem Du auf den "SP" Button drückst bzw. dem Button rechts davon mit dem AuotIt-Zeichen.

    Bei deinem eiigentlichen Problem kann ich Dir jedoch leider nicht helfen.

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

  • Zitat

    Erst wenn man sich auf der VM per Remote anmeldet wird das entsprechende Fenster geschlossen.


    Lässt Du Dein Script als geplanten Task laufen also also nicht zwingend nach der Anmeldung.
    Dann ist das fast normal. Da Windows wenn der Desktop gesperrt ist, bzw. der User noch nicht angemeldet ist Tastatur- Mauseingaben blockiert.
    Eine mögliche Lösung: Windows vmware mit automatischen Login auf einen ESX (-I), dann kann man mit der Konsole immer schön nachschauen. :)
    Eine Alternative wäre vnc, da dort die Session auch offen bleibt, RDP geht nicht wenn man die Sitzung trennt ist wieder die Eingabe blockiert.

    P.S.: Das ist allerdings kein vm Problem, sondern ein Feature von MS. :D

    Gruß Dietmar

    Achtung Anfänger! :whistling:

    Betrachten des Quellcodes auf eigene Gefahr, bei Übelkeit,Erbrechen,Kopfschmerzen übernehme ich keine Haftung. 8o

  • Das Skrpt läuft permanent und wird bei Anmeldung automatisch gestartet.
    Der user ist permanent auf der VM angemeldet, alle Programme laufen weiter.
    Ich bin noch nicht davon überzeugt, dass Remote unser Problem ist.
    Die VMs laufen auf einem Server, alles funktioniert auch AutoIt und
    wenn ich es richtig beobachtet habe, dann braucht es manchmal 10 Klicks
    manchmal 100 oder so und manchmal klappt es gar nicht.

    Gruß Knut

  • Dann kann es ja fast nur eine Timinggeschichte sein, das die VM länger braucht als relle Hardware.
    Mal nen paar großzügigere Pausen testweise einbauen...

    Achtung Anfänger! :whistling:

    Betrachten des Quellcodes auf eigene Gefahr, bei Übelkeit,Erbrechen,Kopfschmerzen übernehme ich keine Haftung. 8o

  • Schalte auf der Virtuellen Maschine den Bildschirmschoner aus. Danach solltest du kein Problem mehr haben, denn wenn du mit Fenstern interagiert und der Bildschirmschoner startet geht das nicht mehr.


    Du darfst die Sitzung auch nicht sperren, das blockiert Mauseingaben ebenfalls.

  • Bildschirmschoner war schon aus.
    Versuch über ControlSend statt Send brachte keinen Erfolg.
    War eher mühsam, da das Fenster noch genauer definiert werden musste.

    Sitzung sperren?

    Ich melde mich Remote an, VM startet bzw. läuft schon.
    Ich beende die Session mit Fenster schließen.

    Grüße
    Knut