Anzeige
Ergebnis 1 bis 10 von 10

Thema: Aufgabenplanung: Ereignis: "Programm geschlossen"

  1. #1
    Winup
    treuer Stammgast

    Aufgabenplanung: Ereignis: "Programm geschlossen"

    Es gibt doch in der Aufgabenplanung diese "Ereignisse", die man als Trigger benutzen kann.

    Ich möchte gerne ein Script starten, sobald ein Programm geschlossen wird. Es handelt sich nicht um ein bestimmtes Programm. Jedes Programm, das geschlossen wird (z.B. Excel, Editor, Rechner, usw.) soll diesen Trigger auslösen.

    Frage:
    Welches Protokoll im Aufgabenassistenten muss ich dazu auswählen. "System" vielleicht?
    Und hinter welcher dieser zahlreicher Quellen verbirgt sich das Ereignis "Programm geschlossen"?

    Eine Lösung würde mich freuen.

    Vielen Dank.

  2.   Anzeige

     
  3. #2
    Tarantula-X
    nicht mehr wegzudenken Avatar von Tarantula-X

    AW: Aufgabenplanung: Ereignis: "Programm geschlossen"

    in deinem Profil steht Windows 10, hier schreibst du unter Windows 7?

    was soll der Trigger denn bewirken?

  4. #3
    Winup
    treuer Stammgast

    AW: Aufgabenplanung: Ereignis: "Programm geschlossen"

    in deinem Profil steht Windows 10, hier schreibst du unter Windows 7?
    Sorry, richtig, Windows 10. Windows 7 ist in meiner VM. Und für diese brauche ich den Ereignis-Trigger.

    was soll der Trigger denn bewirken?
    Es soll eine Powershell ausgeführt werden, sobald ein Programm geschlossen wird. Die Powershell soll prüfen, ob noch weitere Programme geöffnet sind. Wenn nicht, soll die VM heruntergefahren werden. Diesen Teil habe ich schon einigermassen. Jetzt fehlt mir noch das Trigger-Ereignis.
    Geändert von Winup (26.10.2020 um 21:57 Uhr)

  5. #4
    Porky
    gehört zum Inventar Avatar von Porky

    AW: Aufgabenplanung: Ereignis: "Programm geschlossen"

    Da habe ich einen anderen Vorschlag:
    Starte die zu überwachenden Programme über eine Batchdatei statt direkt. Also ungefähr so:

    Programmname.bat
    Code:
    Programmname.exe
    %windir%\System32\WindowsPowerShell\v1.0\powershell.exe -noexit -File "<Pfad>\<skriptname>.ps1"

  6. #5
    Winup
    treuer Stammgast

    AW: Aufgabenplanung: Ereignis: "Programm geschlossen"

    Danke @Porky. Das könnte ein guter Vorschlag sein.

    Ist es möglich, die beiden Zeilen
    HTML-Code:
    Programmname.exe
    %windir%\System32\WindowsPowerShell\v1.0\powershell.exe -noexit -File "<Pfad>\<skriptname>.ps1"
    in eine Zeile zu bringen?

    Also so was wie:
    HTML-Code:
    Programmname.exe  & %windir%\System32\WindowsPowerShell\v1.0\powershell.exe -noexit -File "<Pfad>\<skriptname>.ps1"

  7. #6
    Porky
    gehört zum Inventar Avatar von Porky

    AW: Aufgabenplanung: Ereignis: "Programm geschlossen"

    Müsste gehen. Aber nimm && statt & (der zweite Befehl wird nur ausgeführt, wenn der erste Befehl erfolgreich war).

  8. #7
    Winup
    treuer Stammgast

    AW: Aufgabenplanung: Ereignis: "Programm geschlossen"

    Also: Wenn ich das genau so mache, wie Du es beschrieben hast, dann geht es. Powershell wartet mit der Ausführung, bis das Programm geschlossen ist.

    Ich will aber aus dem Host direkt den Befehl in die cmd schreiben und nicht über den Zwischenschritt einer Batch-Datei gehen. Sonst muss ich für jedes Programm eine Batchdatei schreiben.

    Wenn ich jetzt testweise den Befehl mal in ein cmd-Fenster eingebe, dann passiert aber das:
    siehe Bild <Zulassung 2>

    Im Help steht, man müsse die *.ps1 zuerst "zulassen" (mit Rechtsklick auf die Datei).
    Das habe ich aber bei mir nicht gefunden:
    siehe Bild <Zulassung 1>
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken Aufgabenplanung: Ereignis: &quot;Programm geschlossen&quot;-zulassen2.png   Aufgabenplanung: Ereignis: &quot;Programm geschlossen&quot;-zulassen1.png  

  9. #8
    Porky
    gehört zum Inventar Avatar von Porky

    AW: Aufgabenplanung: Ereignis: "Programm geschlossen"

    Hm, da startet sofort nach Befehlseingabe die Powershell und der erste Teil wird gar nicht ausgeführt. Die ganze Zeile wird falsch interpretiert. Aber warum? Jetzt bin ich auch erst einmal ratlos. Mit nur einem & hast du sicherlich schon probiert?
    Wenn ich das unter Windows 10 starte, scheint das zu funktionieren. Die Dateien werden natürlich nicht gefunden (die illegalen Zeichen sind < und >):
    Scheinbar verhält sich Windows 7 da anders.

    Dann versuche ich mal Powershell:
    Code:
    $ProcessName = "calculator"
    $Program = "calc.exe"
    $CheckProcess = ""
    $CheckProcess = Get-Process | Where-Object {$_.ProcessName -eq $ProcessName}
    If($CheckProcess -eq $null){
    <Hier dein Script ausführen>
    }
    else {
    exit
    }
    Das in der Aufgabenplanung regelmäßig ausführen, z. B. alle 10 Minuten.
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken Aufgabenplanung: Ereignis: &quot;Programm geschlossen&quot;-eingabeaufforderung.png  
    Geändert von Porky (27.10.2020 um 00:56 Uhr)

  10. #9
    Winup
    treuer Stammgast

    AW: Aufgabenplanung: Ereignis: "Programm geschlossen"

    Danke.

    Ja, wenn es nicht anders geht...


    Als Alternative zu Deinem Script in #8 hätte ich noch folgendes Powershell Script-Bruchstück:
    HTML-Code:
    tasklist /V | findstr "Running"
    Hier erhalte ich eine Liste aller laufenden Programme.

    Offenbar kennst Du dich aus mit Powershell.
    Wie muss ich den Befehl verändern, damit ich an Stelle einer Liste eine Zahl erhalte. Nämlich aus wie vielen Listeneinträgen die Liste besteht?

    (So könnte man ja dann überprüfen, ob noch Programme offen sind. Nämlich dann wenn die Liste eine bestimmte Anzahl Einträge überschreitet.)

  11. #10
    Porky
    gehört zum Inventar Avatar von Porky

    AW: Aufgabenplanung: Ereignis: "Programm geschlossen"

    Oha, eigentlich bin ich gar nicht so der Powershell Freak. Ich muss immer eine Dokumentation dazu offen haben. Aber warte mal...

    Versuche mal
    Code:
    tasklist /V | findstr "Running" | Measure-Object | %{$_.Count}
    Geändert von Porky (27.10.2020 um 23:18 Uhr)

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •