Kör PowerShell-skript med Windows Task Scheduler – Flemmings blogg

Windows Task Scheduler kan vara ett mycket användbart verktyg för att köra dina PowerShell-skript vid uppstart, inloggning, enligt ett schema eller andra händelser.

Detta är en steg-för-steg-handledning om hur du kan göra detta i Windows 10, men stegen i den här guiden gäller för alla moderna Windows-klient- och Windows-serveroperativsystem. Windows Task Scheduler är ett inbyggt Windows-program som standard, så ingen ytterligare programinstallation krävs.

Så här gör du

  • Starta Windows Task Scheduler, detta kan göras genom att söka efter det eller genom att köra (START+R) taskschd.msc.
  • Högerklicka på Task Scheduler Library och välj sedan Create Task….. Ett popup-fönster med flikarna Allmänt, Utlösare, Åtgärder, Villkor och Inställningar visas.

I fliken ”Allmänt”

  • I fliken Allmänt ger du uppgiften ett namn genom att fylla i fältet Namn.
  • Kryssa för Kör oavsett om användaren är inloggad eller inte under Säkerhetsalternativ
  • Kryssa för Kör med högsta privilegier

Under fliken ”Utlösare”

Under fliken Utlösare har du många alternativ för när du vill att uppgiften ska köras, men i det här exemplet kommer jag att använda På ett schema.

  • Välj Nytt och välj sedan På ett schema under Börja uppgiften:
  • Här kan du välja det som passar dina behov, men det finns två viktiga saker att komma ihåg. Det första är att välja Aktiverad längst ner och det andra är att Starttid och -datum ska ligga i framtiden. Om starttiden har passerat när uppgiften skapas kommer uppgiften aldrig att köras, och den kommer aldrig att köras på nytt. Varje gång du konfigurerar uppgiften på nytt måste du också ställa in tiden så att den ligger i framtiden.
  • Klicka på OK
Exempel på utlösare som körs var 10:e minut varje dag

Under fliken ”Åtgärder”

  • på fliken Åtgärd väljer du Nytt och fyller i följande:
    Program/script: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
    Detta är länken till din powershell.exe-fil, även om du har en nyare version finns den i mappen v1.0.
    Tillägg argument (valfritt):
    -noprofile -executionpolicy bypass -file "C:\powershell_script\test.ps1" (ersätt med sökvägen till skriptfilen).
    Parametern -noprofile startar PowerShell utan några profiler
    Parametern -executionpolicy bypass Går förbi alla begränsningar som utförandepolicyn har infört, detta borde vara säkert om du kan din kod.
    Parametern -file är till för att öppna en fil. (din .ps1-skriptfil)
  • Klicka på OK. Du kommer att uppmanas att ange autentiseringsuppgifter för den användare som ska köra skriptet, denna användare ska ha administratörsrättigheter.

Testning av uppgiften

Ett bra test att göra om du vill se att det fungerar är att göra ett enkelt skript som matar ut aktuellt datum och tid till en textfil.

Get-Date >> "c:\powershell_script\testlogg.txt"
Exempel på en lyckad körning
Share

Lämna ett svar

Din e-postadress kommer inte publiceras.