Automatisiertes Ausführen eines AutoIT Scriptes - Aufgabenplannung / Autostart / Batch

  • Hallo Zusammen,

    ich habe folgende Situation:
    Ich habe für eine Applikation eine Art "Performancemessung" entwickelt. Dieses Script basiert auf der ImageSearch.au3.
    Dementsprechend werden Bildvergleiche auf dem Desktop durchgeführt und daraufhin gehandelt.
    Das ist leider nötig, da die Applikation unter Citrix in einer JAVA Blackbox sich befindet und ich über die WindowInfo keine Shapes abgreifen kann.

    Alles soweit so gut. Das Script funktioniert und ist auch Ausführbar. Das gewünschte Ergebnis wird auch ausgegeben und übermittelt.

    Was soll des weiteren Passieren? Was ist das Problem?

    Ich lass das Script auf einem seperaten Computer laufen. (TINY PC) Beim Start des PCs soll ein automatisierter Task dieses Script Zeitgesteuert ausführen.
    Jetzt wird es sonderbar...

    Ich lasse einen DomainUser mithilfe des Microsoft Tools - AutoLogon am System anmelden.
    Danach soll der automatisierte Task getriggert werden. (Windows)

    Das manuelle Ausführen funktioniert.
    Das automatisierte Ausführen funktioniert nicht.

    Dieses Verhalten konnte ich mit der Windows Aufgabenplannung / PSEXEC als auch mit BATCH nachstellen.

    Gibt es hier vielleicht jemanden der Erfahrung in diesem Bereich hat?

    Vielen Dank für die Mühe und Danke fürs durchlesen.

    Sollten Fragen auftreten versuche ich so genau wie möglich zu Antworten.

    Mit freundlichen Grüßen

    PS: Der Task in der Aufgabenplannung ist korrekt Konfiguriert. Das manuelle ausführen des Tasks führt zum Erfolg. Zeitgesteuert funktioniert es leider nicht.

  • Ich meine der Taskplaner von Microdoof muss zwingend folgende Punkte haben...

    "Unabhängig von der Benutzeranmeldung ausführen"
    und je nach BS auch "Mit höchsten Privilegien" angehakt haben.

    Edit: Umweg über eine Batch könnte auch eine Rolle spielen... ich glaube ich konnte auch keine exe so ausführen...

  • Ich meine der Taskplaner von Microdoof muss zwingend folgende Punkte haben...

    "Unabhängig von der Benutzeranmeldung ausführen"
    und je nach BS auch "Mit höchsten Privilegien" angehakt haben.

    Edit: Umweg über eine Batch könnte auch eine Rolle spielen... ich glaube ich konnte auch keine exe so ausführen...

    Hallo Sonderbaar,

    Danke für die schnelle Rückmeldung.
    Leider habe ich alle variationen bereits durchprobiert. Alles leider ohne Erfolg.

    :(

  • Hallo!

    Ich habe es selbst lösen können....
    Probiere mich bereits seit gut 3 Tagen an diesem Problem.

    Vermutlich findet der Aufgabenplanner die Ressourcen nicht die gebraucht werden.
    Bei der Imagesearch Geschichte werden ja auf Bilddateien verwiesen.

    Was habe ich nun also getan:
    Ich habe das ausführbare Script (.au3) File auf Öffnen Mit -> 64 Interpreter umgestellt.
    Ich habe davon eine Verknüpfung erzeugt und an einen anderen Ort verlegt (vermutlich ist das nicht nötig aber es läuft).
    Dann habe ich ein Batch - File erzeugt die auf die Au3.lnk verweist, erzeugt und im Autostart hinterlegt.

    Die Batch beinhaltet Timeouts und sogenannte Locked Files die dann erstellt bzw. entfernt werden, damit nicht mehrere Tasks gleichzeitig laufen können.

    Total wirr das ganze. Ich freue mich dennoch sehr, dass es jetzt läuft.

    Viele liebe Grüße!!

  • Hätte vermutlich auch gereicht wenn einfach den Task unter dem Benutzerkonto des angemeldeten Benutzer ausgeführt hättest.

    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.

  • Was habe ich nun also getan:
    Ich habe das ausführbare Script (.au3) File auf Öffnen Mit -> 64 Interpreter umgestellt.
    Ich habe davon eine Verknüpfung erzeugt und an einen anderen Ort verlegt (vermutlich ist das nicht nötig aber es läuft).
    Dann habe ich ein Batch - File erzeugt die auf die Au3.lnk verweist, erzeugt und im Autostart hinterlegt.

    Das wirkt auf mich kompiziert und Fehleranfällig.

    Dieses Verhalten konnte ich mit der Windows Aufgabenplannung / PSEXEC als auch mit BATCH nachstellen.


    Nur ein Hinweis am Rande, da die Aufgabenplanung Batchdateien nicht zuverlässig interpretieren kann. Und das mit "cmd" noch mit "bat" - Dateien. Leider habe ich damit schon zermürbende Erfahrungen gesammelt. Kompiliere am besten das Skript und verwende die .exe Datei in der Aufgabenplanung und du wirst sehen dass das recht zuverlässig funktioniert.

  • Also so ganz zufällig programmiere ich seit etwa 5 Wochen (mit Pausen) auch genau so ein Tool für Performance-Messungen, unter anderen auch von Programmen die in einer Citrix Sitzung laufen.
    Hier mal wie ich die Probleme gelöst habe:

    • Autologin: Ich habe hier 11 Testrechner nur für die Messungen. Für jede habe ich eine Gruppenrichtlinie erstellt in welcher die entsprechenden Registry-Schlüssel für das Autologin gesetzt werden.
      Die Gruppenrichtlinie ist jeweils auf den Rechner beschränkt (bei Sicherheitsfilterung die Benutzer rauswerfen und das Computerkonto eintragen),
      Für jeden Rechner gibt es einen eigenen Benutzer
    • Autostart: Ich habe mir einen kleinen Installer geschrieben (inklusive Eintrag in die Registry und Uninstaller) der das ganze an die richtigen Stellen kopiert. Der Autostart selbst wird mit einem Shortcut den ich für alle Benutzer des Rechners im Autostart / Startup Ordner anlege. Da startet das Programm dann relativ spät - aber nach einem Reboot ist das genau das was ich will.
    • Einfach mal in der Registry ansehen

    • Citrix: Meine Testbenutzer bekommen von allen Applikationen ihre eigene Citrix-Verknüpfungen. In denen wird nicht direkt die Citrix-App gestartet sondern ein weiteres AutoIt-Programm ("Client"). Dieses startet dann erst die eigentliche Applikation - und kann diese dann komplett steuern (Handle auf Controls geht quasi immer - und damit Tasten/Zeichen senden sowie Mausklicks)
      Die Citrix Sitzung wird von der "Console" gestartet die auf dem Rechner läuft, in der Registry stehen alle "Favoriten" des aktuellen Citrix Client drin (also diejenigen, die sich der Benutzer anlegt), siehe
      HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Uninstall. Bei Citrix Einträgen muss dann das Programm aus ShortcutTarget starten, als Parameter dann den LaunchString angeben
    • Der "Client" auf dem Citrix-Server holt sich per WMI die IP von dem Rechner der die Sitzung aufgebaut hat und verbindet sich per TCP mit diesen.
    • Console und Client führen dann in Absprache die Tests durch
    • Die Messergebnisse schicke ich dabei an unseren Monitoring-Server (Zabbix-Server) um später die Daten für Auswertungen zu haben.

    Also Kurz: Autostart-Ordner war bei mir ausreichend!