Task Scheduler: Batch-/PowerShell-Skripte
In diesem Artikel geht es darum, wie man mittels des Task Scheduler Batch-/PowerShell-Skripte automatisiert ausführen lassen kann.
Batch-Skripte
Einfach bei „Action“ die Auswahl „Start a program“ nehmen, dann bei „Program/Script“ den Pfad und Dateinamen des Batch-Skriptes auswählen.
Action
Start a program
Program/Script
<Pfad>\<Script-Name>.bat
PowerShell-Skripte
Während man die Batchskripte über das Feld Program/Script ausführen lassen kann, sollte man das bei PowerShell-Skripten immer über das optionale Argument Feld machen. Hier gibt es aber nochmal zwei Unterschiede zu beachten, nämlich ob man dem Skript noch Parameter mitgeben muss oder nicht.
Option 1: ohne Parameter („-file“-Option)
Action
Start a program
Program/Script
%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe
Add Arguments (optional)
-ExecutionPolicy Bypass -NoProfile -NoLogo -NonInteractive -File "<Pfad>\<Script-Name>.ps1"
Wenn die eigentliche ExecutionPolicy des Systems die Ausführung bestimmter Scrips nicht zulässt, dann muss im bei „Add Arguments“ noch der -ExecutionPolicy Bypass
Parameter aufgeführt werden; diese sorgt dafür, dass das Skript dennoch ausgeführt wird.
Option 2: mit Parameter („-command“-Option)
Möchte man dem Skript noch weitere Parameter mitgeben, funktioniert das nicht mit der -File
Option, denn die mitgegebenen Parameter werden nicht richtig interpretiert. In solch einem Fall, muss das Skript mit der -Command
Option gestartet werden.
Action
Start a program
Program/Script
%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe
Add Arguments (optional)
-ExecutionPolicy Bypass -NoProfile -NoLogo -NonInteractive -Command "& '<Pfad>\<Script-Name>.ps1' -ParameterName1 '<Parameter1>' -ParameterName2 '<Parameter2>'"
Tipp
Möchte man sich nicht beide Varianten merken müssen, reicht Option 2 vollkommen aus, denn natürlich kann man auch ohne Parameter den einfachen Skript-Aufruf mit der -Command
Option realisieren.