Hvordan kjøre PowerShell skript med Windows Oppgaveplanlegging

  • Post author:
  • Post category:Other

Windows Oppgaveplanlegging (eller Windows Task Scheduler) kan være et veldig nyttig verktøy for kjøring av PowerShell skript under oppstart, pålogging, hendelse, eller på et fastsatt tidspunkt.

Dette er en steg-for-steg veiledning for hvordan dette kan gjøres i Windows 10, men stegene i denne veiledningen gjør seg gjeldende for alle moderne versjoner av Windows Klient og Windows Server operativsystemer.
Windows Oppgaveplanlegging er innebygget i Windows som standard, så ingen ekstra programvareinstallasjon er nødvendig.

Slik gjøres det

  • Start Windows Oppgaveplanlegging. Dette kan gjøres ved å søke, eller ved å kjøre (START+R) taskschd.msc.
  • Høyreklikk på Oppgaveplanleggingsbibliotek (Task Scheduler Library) og deretter velg Opprett oppgave… (Create Task..). Et pop-up vindu med fanene Generelt (General), Utløsere (Triggers), Handlinger (Actions), Betingelser (Conditions) og Innstillinger (Settings) vil sprette opp.

I “Generelt” fanen

  • I Generelt-fanen gi et navn til oppgaven i Navn (Name) feltet.
  • Huk av Kjør enten brukeren er logget på eller ikke (Run whether user is logget on or not) under Sikkerhetsalternativer (Security options).
  • Huk av Kjør med høyeste tilgangsrettigheter (Run with highest privileges).

I “Utløsere” fanen

I Utløser-fanen har du mange alternativer å velge i, men i denne veiledningen tar jeg utgangspungt i Etter en plan (On a schedule)

  • Velg Ny… (New) og deretter velg Etter en plan under Begynn oppgaven: (Begin the task:)
  • Her kan vi velge hva enn som er hensiktsmessig, men det er to viktige ting å merke seg. Det første er å huke av Aktivert (Enabled) i bunnen, den andre er å velge et tidspungt og dato i fremtiden under Start:. Dersom tidspunktet og datoen her er i fortid i det oppgaven lages vil den aldri kjøre, den vil heller aldri gjennta noen kjøring. Hver gang du rekonfigurerer oppgaven må Start: justeres til fremtid.
  • Klikk OK
Eksempel på utløser som kjører hvert 10. minutt hver dag

I “Handlinger” fanen

  • I Handlinger-fanen velg Ny… (New) og fyll ut som følger:

    Program/Skript: (Program/script:)
    C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
    Dette er en link til din powershell.exe fil, selv om du kjører en nyere versjon av PowerShell vil den være lokalisert i v1.0 mappen.

    Legg til argumenter (valgfritt): (Add arguments (optional):)
    -noprofile -executionpolicy bypass -file "C:\powershell_script\test.ps1" (Erstatt med sti til skript-fil)

    -noprofile parameteret starter PowerShell uten profiler
    -executionpolicy bypass parameteret omgår alle restreksjoner pålagt av PowerShells “execution policy”, dette burde være trygt da du kjenner egen kode.
    -file parameteret er for å åpne en fil. (din .ps1 skript-fil)
  • Klikk OK. Du vil bli bedt om brukernavn og passord for brukeren som skal kjøre skriptet, denne brukeren skal ha administrative rettigheter.

Testing av oppgaven

En enkel måte å teste hvorvidt oppgaven kjører slik den skal er å lage et simpelt skript som eksporterer nåværende dato til en tekst-fil.

Get-Date >> "c:\powershell_script\testlogg.txt"
Eksempel på suksessfull kjøring

Share