Hvordan kjøre PowerShell skript med Windows Oppgaveplanlegging

·

·

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