Fragensteller
Scheduled Job mit Powershell anlegen unabhängig von Benutzeranmeldung

Frage
-
Hallo zusammen,
ich habe das Problem, dass ich über folgendes Code-Beispiel einen Task anlegen möchte:
$Wann = "17:00"
$joboption = New-ScheduledJobOption -ContinueIfGoingOnBattery
$trigger = New-JobTrigger -Daily -At $Wann
Register-ScheduledJob -Name "Aufgabe1" -Trigger $trigger -FilePath "C:\pfad\skript.ps1" -ScheduledJobOption $joboptionDies lief bis vor einiger Zeit recht reibungslos. Nach einem Windowsupdate konnte der ScheduledJob nicht mehr ausgeführt werden. Auch manuell ließ er sich nicht starten. Das Problem ist folgende Einstellung:
Weiß jemand wie ist diese Check-box per powershell ansprechen kann?
Als Alternative habe ich schon einen ScheduledTask angelegt, der durch das SYSTEM ausgeführt wird. Dieser läuft auch und wirft keine Fehlermeldung(powershell-eventlog). Dennoch wird das Skript nicht ausgeführt. Die Befehlszeile im ScheduledTask funktioniert aber sofern ich sie in der Powershell ausführe.
hoffe jemand kann mir helfen.
Gruß
Matze
____________________________________________________________________
Update:
Das Skript, welches durch den ScheduledTask und ScheduledJob ausgeführt wird, verwendet keine Netzlaufwerke. Es Startet nur eine Software über übergibt ein paar Befehle.
- Bearbeitet User457 Montag, 5. März 2018 10:26
Alle Antworten
-
Hallo Matze,
So müsste das gehen:
$taskPrincipal = New-ScheduledTaskPrincipal -LogonType S4U ... Register-ScheduledTask -Principal $taskPrincipal ...
LogonType auf S4U setzen. Siehe: https://msdn.microsoft.com/en-us/library/windows/desktop/aa382075(v=vs.85).aspx
- Bearbeitet TobyU Montag, 5. März 2018 10:26
-
Moin Toby,
danke für deine Antwort.
Habe es so ausprobiert:
$trig = New-ScheduledTaskTrigger -Daily -At 17:00 -DaysInterval 2
$taskPrincipal = New-ScheduledTaskPrincipal -LogonType S4U -UserId Messnutzer -RunLevel Highest
$action=New-ScheduledTaskAction -WorkingDirectory $env:TEMP -Execute $env:SystemRoot\system32\powershell.exe -Argument "-file 'C:\Darca Data\Automatisierung\Eltek_Daten_auslesen.ps1'"Register-ScheduledTask -Action $action -TaskName "Eltek Test 2" -TaskPath "\Eltek" -Trigger $trig -Principal $taskPrincipal
leider ohne Erfolg, fehlt etwas?
Ich müsste dem Task doch sicher noch ein Passwort übergeben oder nicht?
Gruß
Matze
-
Moin Zusammen,
habe eine Lösung für mein Problem gefunden. Da ich beim ersten Einrichten immer andere Passwörter haben kann, löse ich es einfach über eine Abfrage des Benutzers (Get-Credentials).
Danke Toby für deine Hilfe.
________________________________________________________
$PSCredentials = Get-Credential
$Wann = "17:00"
$joboption = New-ScheduledJobOption -ContinueIfGoingOnBattery
$trigger = New-JobTrigger -Daily -At $wann
Register-ScheduledJob -Name "Task1" -Trigger $trigger -FilePath "C:\pfad\Automatisierung\skript.ps1" -ScheduledJobOption $joboption -Credential $PSCredential_________________________________________________________
Gruß
Matze