Powershell 5.1: Modul "ScheduledTask"
Hallo
Nach einer halben Nacht in meinem privaten Testlab (Win 10 PC und Win 11 PC) mit diversen Versuchen und Informationen aus den Büchern von Schwichtenberg und Weltner wende ich mich an die Profis.
Ziel:
Mit dem Modul "ScheduledTasks" in PS 5.1 ein PS Skript (c:\windows\tool\kallisto.ps1) als Task starten. Dieses Skript schreibt in eine Textdatei (c:\temp\107log.txt)
Skript:
So sieht das Skript aktuell aus
Shell:
In der Shell sieht man, dass wenn ich das Skript direkt starte wird die Textdatei erstellt.
Aufgabenplanung:
Der Fehler 0x80070002 besagt "File not found"
Workaround
Wenn ich über das Cmdlet "Register-ScheduledTask" das PS Skript über einen Batch ("run.cmd") starte, läuft es einwandfrei.
Ich werde asap das starten des PS Skripts über das Modul "PSScheduledJob" näher anschauen.
Ich habe in meinem Leben bereits mit einigen OS / Sprachen gearbeitet. Und ich akzeptiere einfach nicht, dass PS 5.1 in einer so einfachen Aufgabe nicht mitspielt.
Grüsse an alle Foristen
Nach einer halben Nacht in meinem privaten Testlab (Win 10 PC und Win 11 PC) mit diversen Versuchen und Informationen aus den Büchern von Schwichtenberg und Weltner wende ich mich an die Profis.
Ziel:
Mit dem Modul "ScheduledTasks" in PS 5.1 ein PS Skript (c:\windows\tool\kallisto.ps1) als Task starten. Dieses Skript schreibt in eine Textdatei (c:\temp\107log.txt)
Skript:
So sieht das Skript aktuell aus
Shell:
In der Shell sieht man, dass wenn ich das Skript direkt starte wird die Textdatei erstellt.
Aufgabenplanung:
Der Fehler 0x80070002 besagt "File not found"
Workaround
Wenn ich über das Cmdlet "Register-ScheduledTask" das PS Skript über einen Batch ("run.cmd") starte, läuft es einwandfrei.
Ich werde asap das starten des PS Skripts über das Modul "PSScheduledJob" näher anschauen.
Ich habe in meinem Leben bereits mit einigen OS / Sprachen gearbeitet. Und ich akzeptiere einfach nicht, dass PS 5.1 in einer so einfachen Aufgabe nicht mitspielt.
Grüsse an alle Foristen
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 7112038708
Url: https://administrator.de/contentid/7112038708
Ausgedruckt am: 21.11.2024 um 15:11 Uhr
9 Kommentare
Neuester Kommentar
Hi
-Thomas
$taskname = "task"
$taskaction = New-ScheduledTaskAction -Execute "powershell.exe" -Argument '-EP Bypass -File "c:\windows\tool\kallisto.ps1"'
$tasktrigger = New-ScheduledTaskTrigger -Once -at 15:41
Register-ScheduledTask -TaskName $taskname -Trigger $tasktrigger -Action $taskaction
-Thomas
Moin,
Für das Verständnis:
Du musst dem scheduled task sagen, welches Programm er starten soll (powershell) und ihm dann Argumente mitgeben, was er tun soll (-file [filepath]).
Nur auf eine powershell Datei zu verweisen geht leider nicht (Grund mir gerade unbekannt :X, weiß aber dass es so ist haha)
Sonst geht das nicht. Siehe Antwort von @3063370895
Vg
Celiko
Für das Verständnis:
Du musst dem scheduled task sagen, welches Programm er starten soll (powershell) und ihm dann Argumente mitgeben, was er tun soll (-file [filepath]).
Nur auf eine powershell Datei zu verweisen geht leider nicht (Grund mir gerade unbekannt :X, weiß aber dass es so ist haha)
Sonst geht das nicht. Siehe Antwort von @3063370895
Vg
Celiko
Nur auf eine powershell Datei zu verweisen geht leider nicht (Grund mir gerade unbekannt :X, weiß aber dass es so ist haha)
Aus dem selben Grund, warum du eine ps1-Datei nicht mit Doppelklick starten kannst, ps1-Dateien sind per Definition keine ausführbaren Dateien.
-Thomas
IMHO setzt man die Option, falls auf einem Win Client die PS Skripte Policy nicht bereits freigegeben sind.
Korrekt, ich setze "-EP Bypass" hier im Forum immer davor, damit die EP des Systems nicht dazwischenfunken kann.
-Thomas