Asynchrone Taskplaner-Aktionen

Asynchrone Taskplaner-Aktionen

Erläuterung

Ich möchte beim Anmelden einige Programme/Dateien ausführen und verwende daher den Taskplaner anstelle des Startordners oder von Skripts, da für bestimmte Programme erhöhte UAC-Rechte erforderlich sind und die Option „Mit höchsten Berechtigungen ausführen“ im Taskplaner meines Erachtens Eingabeaufforderungen unterdrückt.

 

Problem

Die erste Aktion wird nie ordnungsgemäß beendet. Da Task-Aktionen synchron sind, wird immer nur die erste Aktion ausgeführt.

Also, weiß jemand, wie man Aufgaben asynchron macht, oder hat jemand andere Vorschläge?

 

Aufstellen

Start - Auslöser Startup - Aktionen

Antwort1

Ich bin hierher gekommen aufgrund einer Kommentardiskussion überALSO

Ehrlich gesagt habe ich in meinem Startmenü Programme, die Administratorrechte erfordern und scheinbar auch ohne mein Eingreifen einwandfrei laufen.

Haben Sie versucht, diese Programme in die Gruppenrichtlinien-Anmelde-/Abmeldeskripte einzufügen? Unter Computerkonfiguration, Windows-Einstellungen. Ich bin nicht sicher, ob das bei Ihnen funktioniert. Es gibt vielleicht eine andere Lösung auf Basis von Gruppenrichtlinien – aber die übersteigen meinen Horizont.

Ich habe meinen Kommentar jedoch wie gewünscht gepostet und ihn entsprechend Ihrer eigentlichen Frage geändert:

Aufgaben des Taskplaners werden nacheinander und nicht gleichzeitig ausgeführt. Wenn Sie möchten, dass alle Aufgaben gleichzeitig (parallel) ausgeführt werden, ist es am einfachsten, mehrere Aufgaben zu erstellen, die gleichzeitig (oder beim gleichen Ereignis, z. B. bei der Anmeldung) ausgeführt werden. Verwenden Sie die erweiterte Option „Aufgabe verzögern“, um die Startreihenfolge bei Bedarf zu staffeln.

Antwort2

Ich habe eine Batchdatei, die jedes Programm startet. Da ich möchte, dass alle Programme asynchron UND mit einer Verzögerung zwischen den einzelnen Programmen ausgeführt werden (da die ersten beiden Programme etwa 10 bis 15 Sekunden zum vollständigen Start benötigen), verwende ich zwischen jeder Programmzeile „ping localhost -n 15 >nul“, um die Verzögerungen zu beheben.

Funktioniert sehr gut und bedeutet, dass ich nur eine Aufgabe in TS habe.

Beispiel einer Batchdatei:

@echo off
::Start prog 1
"C:\Program Files\prog1\prog1.exe"

::Need to wait 15 seconds for it to start
ping localhost -n 15 >nul

:: Start prog 2
:: Further progs & delays here if required, etc,etc...

Antwort3

Da das erste Programm in der Liste der gestarteten Aktionen noch läuft, wird der wartende Skripthandler im Taskplaner das zweite Programm erst ausführen, wenn das erste abgeschlossen ist. Er ist dafür gedacht, entweder ein einzelnes Programm/eine einzelne Aktion oder eine Reihe von kurz laufenden Aktionen zu starten. Hier möchten Sie jede Aktion als separat geplante Aufgabe ausführen.

Antwort4

Sie können eine geplante Aufgabe aus einer Batchdatei ausführen, indem Sie den folgenden Befehl verwenden:

C:\Windows\System32\schtasks.exe /run /tn "????????"

Wobei ????????der Name der geplanten Aufgabe ist. Wenn Sie beispielsweise in der Aufgabenplanungsbibliothek einen Ordner mit dem Namen „MyApps“ erstellen und darunter eine Aufgabe mit dem Namen „Fraps“, sieht Ihr Befehl folgendermaßen aus:

C:\Windows\System32\schtasks.exe /run /tn "MyApps\Fraps"

Sie können dies sogar in einer Verknüpfung verwenden, um Fraps direkt ohne UAC zu starten.

In diesem Fall würde ich aber einfach zuerst Fraps starten und dann auf der Registerkarte Allgemein die Option aktivieren Run Fraps when Windows starts.

verwandte Informationen