PowerShell Scripts in Scheduled Tasks ausführen
Im Gegensatz zu Command-/Batch-Scripts sollten PowerShell Scripts in Scheduled Tasks nicht direkt über das Feld Program/Script ausgeführt werden, sondern über das optionale Argument Feld.
Option 1: Script-Aufruf mit -File Parameter
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"
Der -ExecutionPolicy Bypass
Parameter sorgt dafür, dass das Script ausgeführt wird, auch wenn die eigentliche Execution Policy des Systems die Ausführung bestimmter Scripts nicht zulässt.
Option 2: Script-Aufruf mit -Command Parameter
Benötigt das Script zur Ausführung noch zusätzliche Parameter, funktioniert der -File
Parameter nicht, da die angegebenen Parameter nicht richtig interpretiert werden. In diesem Fall, muss das Script mit seinen Parametern mit dem -Command
Parameter aufgerufen 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>'"
Natürlich kann auch ohne Parameter für einen einfachen Script-Aufruf der -Command
Parameter mit der entsprechenden Syntax genutzt werden.