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
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"