PowerShell Script in der Aufgabenplanung ausführen

Wer Windows Netzwerke verwaltet muss früher oder später auf PowerShell Scripts zurück greifen, da man mit Microsoft PowerShell eigentlich alles erledigen kann. Manche Aufgaben sollen aber automatisch in einer gewissen Zeitspanne wiederholt ausgeführt werden. Hier kommt die Windows Aufgabenplanung, also ein Scheduled Task zum Einsatz. Wie man ein PowerShell Script in der Aufgabenplanung ausführen kann, zeigen wir euch in diesem Beitrag. Hier muss man auf ein zwei Kleinigkeiten bei der Konfiguration achten um die Datei nicht einfach nur zu öffnen, sondern auszuführen.

Die Verwendung eines PowerShell Ssript in der Aufgabenplanung

Natürlich ist es mit der Windows Aufgabenplanung kein Problem ein PowerShell Script ausführen zu lassen. Dies kommt oft dann zum Einsatz, wenn man Scripte wiederkehrend und automatisiert ausführen lassen will. Man kann beispielsweise den WSUS Server bereinigen lassen oder automatisiert Dokumente drucken. Aber bei der Ausführung von PS1-Dateien muss man etwas für einen Scheduled Task beachten, da diese Datei nicht einfach ausgeführt werden kann.

Aufgabenplanung konfigurieren um ein PowerShell Script ausführen zu können

Wie oben schon erwähnt, ist das Ausführen von ps1-Dateien, also PowerShell Scripte etwas speziell. Um nun ein PowerShell Script in der Aufgabenplanung ausführen zu können, muss folgendermaßen vorgegangen werden. Hier wird eine neue Aufgabe angelegt und die Einstellungen beim Programm-Start angepasst.

  1. Neuen Scheduled Task erstellen
  2. In Tab Aktionen wechseln
  3. Neue Aktion mit Neu… anlegen
  4. Als Aktion Programm starten wählen
  5. Als Programm/Script den Pfad zur powershell.exe hinterlegen
    %SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe
  6. Als Argument -command und Pfad zur Datei angeben
    -command "C:\yourDirectory\yourScript.ps1"
PowerShell Skript in der Aufgabenplanung

Anders wie bei Batch Dateien oder anderen Softwareprodukten, kann die auszuführende .ps1-Datei nicht unter “Programm” angegeben werden. Der Pfad zum Script wird nicht als Programm angegeben, sondern wird als Argument angegeben. Dies ist wie ein Parameter für die PowerShell-EXE-Datei zu sehen. Die weiteren Einstellungen für den Scheduled-Task sollten selbsterklärend sein. Hier gibt es keine spezial Einstellungen für PowerShell Scripte.

Fehler 0x1 beim Ausführen

Allerdings kann es beim Ausführen per Aufgabenplanung zum Fehler 0x1 kommen, welcher aber im verlinkten Beitrag beschrieben ist. Hier wird das Script mit zu niedrigen Rechten gestartet. Das kann man allerdings bei den Scheduled Tastk einstellen.

PowerShell Execution-Policy

Da PowerShell sehr mächtig ist, gibt es so genannte Execution-Policies, oder auch Ausführungsrichtlinien, welche das Ausführen von Scripts verhindern. Hier gibt es verschiedene Modi, aber im Standard ist die Richtlinie auf Restricted gestellt. Sollte nun die PowerShell-Datei in der Aufgabenplanung nicht ausgeführt werden können, muss zuerst die Richtlinie geändert werden. Zuerst müssen wir PowerShell als Administrator starten und danach folgenden Befehl ausführen:

Set-ExecutionPolicy -ExecutionPolicy Unrestricted

Diese Änderung muss danach bestätigt werden. Ist das erledigt lässt sich das Script ohne Probleme ausführen.

Eine Übersicht zu den Execution Policies gibt es hier: https://www.itnator.net/executionpolicy-verhindert-ausfuehrung-von-scripts/

Johannes Huber
 

In seiner Freizeit macht Johannes nichts lieber, als für ITnator Beiträge zu schreiben. Input bekommt er hierfür von Problemen in der IT Administration von Servern, Clients und vielen weiteren IT Komponenten.

sidebar
>