Gå til innhold
  • Bli medlem
Støtt hjemmeautomasjon.no!

GUIDE: Kjøre PowerShell med Windows Task Scheduler


Evelen

Anbefalte innlegg

Etter å ha lagt ut noen Powershell Script her, bla for Radnett og Pollenvarsel tenker jeg å lage en guide for å kjøre dem på en hensiktsmessig måte.

 

Windows Task Scheduler, eller bare "Oppgaveplanlegging" som det heter på norsk er en grei funksjon man lenge har hatt i Windows, både på klient og server-siden.

Jeg tar i denne guiden utgangspunkt i engelsk Windows 10, men prosedyren er mer eller mindre lik i alle nyere windows-versjoner.

 

Powershell scripts er ikke helt rett frem å kjøre automatisk, det av to grunner. For det første er ikke scriptet i seg selv et program (men et script som skal åpnes i et program, powershell.exe). For det andre er det som standard begrensninger knyttet til Execution Policy (begrensinger ment for å hindre kjøring av ondsinnede script). Det kan så klart settes "unrestricted", men det må gjøres for både x86 og x64 versjonen av Powershell separat og er vel ikke akkurat anbefalt, selv om jeg er veldig glad i å gjøre det selv.

 

 

Uansett, fremgangsmåte følger:

- Start Windows Task Scheduler (kjør taskschd.msc)

- Høyreklikk på "Task Scheduler Library" -> "Create Task..."

- Nytt vindu spretter opp, her kommer det flere faner, "General", "Triggers,", "Actions", "Conditions" og "Settings".

Her fyller du inn følgende:

 

General:

Name: Navn på task, f.eks "Test task for kjøring av powershell"

Ville også huket av "Run whether user is logget on or not" under "Security options", samt "Run with highest privileges" (Du vet jo hva du kjører)

 

Triggers:

Velg "New..."

Her er det bare å velge hva man vil, altså når script skal kjøre, f.eks på tid.

Det er to ting som er veldig viktig her. For det første dersom start-tiden er satt til før gjeldende dato og tid, da vil denne tasken aldri kjøre. Heller aldri repeteres selv om så er valgt. Det høres litt ulogisk ut, men kan du virkelig repetere noe som ikke er gjort? Nop, og datamaskiner er kverulanter. Den gjør det du sier, ikke det du mener.

 

Nr 2 er så klart å velge "Enabled" i bunnen, dette er dog huket av som standard

 

trigger.thumb.png.fa2343e3a2ff27732c90feb787ae4d1f.png

Klikk så "ok"

 

Actions:

Velg "New..."

Her kommer triksene for å kjøre et script.

Program/script: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe <-Link til powershell.exe (funfact, uansett PowerShell versjon så ligger den i v1.0-mappa)
Add arguments (optional): -noprofile -executionpolicy bypass -file "C:\powershell_script\test.ps1" <- Link til script i apostrof
Start in (optional): C:\powershell_script\ <-sti til script

Klikk "Ok"

 

Conditions, Setings og History endrer jeg som utgangspunkt ikke noe i. Klikk "Ok", har du som meg fiklet med "Security options" under general må du nå fylle inn brukernavn og passord for brukerkonto med administrative rettigheter.

 

Jeg satt mitt script til å kjøre hver dag hvert 10 minutt fra og med kl 23:15 den 09.03.2017.
For å sjekket dette for testens skyld har jeg satt scriptet til å skrive en logg-fil under kjøring.

Get-Date >> "c:\powershell_script\testlogg.txt"

Funket som en drøm dette

triggher.png.85c40033904540d890f62d3505f8d192.png

 

Endret av Evelen
  • Like 5
Lenke til kommentar
Del på andre sider

Bli med i samtalen

Du kan publisere innhold nå og registrere deg senere. Hvis du har en konto, logg inn nå for å poste med kontoen din.

Gjest
Skriv svar til emnet...

×   Du har limt inn tekst med formatering.   Lim inn uten formatering i stedet

  Du kan kun bruke opp til 75 smilefjes.

×   Lenken din har blitt bygget inn på siden automatisk.   Vis som en ordinær lenke i stedet

×   Tidligere tekst har blitt gjenopprettet.   Tøm tekstverktøy

×   Du kan ikke lime inn bilder direkte. Last opp eller legg inn bilder fra URL.

×
×
  • Opprett ny...

Viktig informasjon

Vi har plassert informasjonskapsler/cookies på din enhet for å gjøre denne siden bedre. Du kan justere dine innstillinger for informasjonskapsler, ellers vil vi anta at dette er ok for deg.