Scheduled Task mit Powershell anlegen

Hallo zusammen,

Ich wollte schon länger mal wissen, ob man nicht einen Scheduled Task mit PowerShell einrichten kann. Und natürlich ist die Antwort: Ja klar, das geht :)

Hier der Code dazu - die Befehle unten sind direkt zu Microsoft Docs verlinkt.

$action = New-ScheduledTaskAction -Execute 'Powershell.exe' -Argument '-NoProfile C:\Scripts\ZIPandDeleteIISLog.ps1'
$trigger = New-ScheduledTaskTrigger -Daily -At 1am
Register-ScheduledTask -Action $action -Trigger $trigger -TaskName "ZIPandDeleteIISLog" -Description "Daily ZIPandDeleteIISLog" -RunLevel "Highest"

Die PowerShell muss "als Administrator" gestartet sein und legt den Task mit den Credentials des eingeloggten Benutzers an.

Wenn man das aufgerufene PowerShell verstecken möchte, kann man das mit dem Parameter WindowsStyle tun

PowerShell -NoProfile C:\Scripts\ZIPandDeleteIISLog.ps1 -WindowStyle Hidden

Powershell Command Line Parameters

https://docs.microsoft.com/en-us/powershell/module/Microsoft.PowerShell.Core/About/about_PowerShell_exe?view=powershell-5.1&viewFallbackFrom=powershell-7 

Grüsse
Andres Bohren