- Schtasks er linjegrensesnittet til kommandoer fra Oppgaveplanleggeren og lar deg opprette, endre, kjøre og slette oppgaver både lokalt og eksternt.
- Nøkkelparametere som /sc, /tn, /tr, /ru, /mo, /st eller /d definerer hva som kjører, med hvilke tillatelser og med hvilken frekvens eller utløserbetingelse.
- Det er avgjørende å administrere tillatelser og kontoer (administrator, SYSTEM, eksterne brukere med /uy /p) for at oppgaver skal kunne opprettes og utføres riktig.
- Schtasks erstatter den gamle AT-kommandoen og tilbyr en robust plattform for automatisering av vedlikehold, skript og tilbakevendende prosesser i Windows.
Planlegg oppgaver i Windows med schtasks Det er en av de tingene som, når du først mestrer det, får deg til å lure på hvorfor du har gjort repeterende oppgaver manuelt i årevis. Sikkerhetskopier på merkelige tidspunkter, skript du kjører hver morgen, tjenester du må starte på nytt etter et strømbrudd ... alt dette kan automatiseres med en enkel kommando.
schtasks-kommandoen er kommandolinjegrensesnitt Med Windows Oppgaveplanlegger kan du opprette, endre, liste, kjøre og slette oppgaver både på din egen datamaskin og eksterne maskiner på nettverket. La oss ta en nærmere titt, med klare eksempler og forklaringer av hver nøkkelparameter, slik at du kan få mest mulig ut av det, fra enkle automatiseringer til avanserte scenarier som involverer brukere, tillatelser og eksterne datamaskiner.
Hva er schtasks og hva kan det gjøre for deg

Schtasks.exe er konsollverktøyet som Windows bruker til å kommunisere med Oppgaveplanleggeren. Takket være den kan du definere at et program, script Kommandoen vil bli utført automatisk på en bestemt dato og klokkeslett eller etter en bestemt tidsplan, uten at du trenger å berøre det grafiske grensesnittet.
Med schtasks kan du planlegge gjentakende oppgaver (hvert X minutt, time, dag, uke eller måned), oppgaver som startes når systemet starter, når en bestemt bruker logger seg på, når datamaskinen er inaktiv, eller til og med som svar på systemhendelser. I tillegg kan du starte oppgaver under forskjellige brukerkontoer (inkludert SYSTEM-kontoen) og på eksterne datamaskiner.
De grunnleggende operasjonene til schtasks De er gruppert i seks hovedunderkommandoer, som er de du vil bruke 99 % av tiden:
- schtasks-endringendrer egenskapene til en eksisterende oppgave (program som skal kjøres, bruker, passord, interaktiv modus…).
- schtasks oppretteoppretter en ny planlagt oppgave.
- sletting av schtasks: sletter en oppgave fra planleggeren.
- slutt på schtasks: stopper programmet som kjører en oppgave.
- schtasks-spørringviser teamets planlagte oppgaver.
- schtasks kjører: tvinger frem umiddelbar utførelse av en oppgave som allerede er opprettet.
Bak disse operasjonene ligger det mange parametere For å definere frekvens, start- og sluttdatoer, brukeren som oppgaven utføres under, eksternt team, forsinkelser, varighet, rettighetsnivåer osv. Vi deler dem opp for deg nedenfor.
Tillatelser som kreves for å jobbe med schtasks

Før du begynner å lage oppgaver som en galDet er viktig å være tydelig på hvilke tillatelser du trenger, for ellers ender du opp med oppgaver som opprettes, men ikke utføres, eller som feiler stille.
På det lokale teamet, for å håndtere alle oppgaver For å vise, opprette, endre og slette oppgaver må du være administrator. En standardbruker kan opprette sine egne oppgaver i noen tilfeller, men hvis du vil ha full kontroll over systemet, kan du gjøre det fra en konto med administratorrettigheter.
I eksterne team er ting likt.Kontoen du bruker må være administrator på den eksterne datamaskinen. Du kan kjøre kommandoen fra datamaskinen din og bruke parameteren. /s for å angi destinasjonsteamet og /u y /p for å oppgi administratorlegitimasjon for den maskinen eller det domenet.
/u-parameteren fungerer bare riktig Dette skjer når den lokale og eksterne datamaskinen er på samme domene eller på domener med konfigurert tillit. Hvis det ikke finnes et tillitsforhold, kan ikke den eksterne datamaskinen autentisere kontoen du oppgir, og oppgaven vil være feilkonfigurert eller tom, selv om den ser ut til å være opprettet.
I tillegg må selve oppgaven ha tilstrekkelige tillatelser. å gjøre det du ber om. Som standard kjøres oppgaver under gjeldende bruker eller den du angir med /uHvis du vil at de skal starte med en annen konto eller direkte med systemtillatelser, må du bruke parameteren /ru (Kjør som bruker) og, normalt, /rp for å skrive inn passordet.
Generell syntaks for schtasks og nøkkelparametere
Syntaksen til schtasks er ganske omfattendeDen følger imidlertid alltid samme mønster: en underkommando, etterfulgt av parametere som definerer hva, når, hvor og med hvilke tillatelser oppgaven utføres. Det generelle formatet for å opprette oppgaver er:
schtasks /create /sc <tipo_programación> /tn <nombre_tarea> /tr <comando_o_programa>
De grunnleggende parameterne når du oppretter en oppgave er:
- /sc: type av programmeringTypiske verdier:
- MINUTThvert N minutt.
- HVER TIMEhver N time.
- DAGLIGhver N. dag.
- UKENTLIGhver N uker.
- MÅNEDLIGhver N måneder.
- EN GANG: en enkelt henrettelse.
- PÅSTARTi hver boot av systemet.
- PÅLOGGING: når en bruker logger inn.
- ONIDLE: når systemet har vært inaktivt i X minutter.
- ENN HENDELSE: som svar på en spesifikk hendelse i loggen.
- /tnUnikt oppgavenavn. Kan inkludere mappebane (for eksempel
"MiCarpeta\BackupDB"Maksimalt 238 tegn. - /tr: Fullstendig sti til den kjørbare filen, skriptet eller .bat-filen som skal kjøres. Hvis du ikke angir en sti, vil den bli antatt.
%SystemRoot%\System32Maksimal lengde 262 tegn. - /s: ekstern datamaskin (navn eller IP). Hvis du ikke bruker den, handler du på den lokale datamaskinen.
- /eller: legitimasjonsinformasjon som selve schtasks-kommandoen kjøres med (for fjernprogrammering).
- /p: passordet til brukeren som er angitt i /uHvis du ikke oppgir det, vil konsollen be om det.
- /ru { | system}Kontoen som oppgaven skal utføres under. Du kan bruke en domenebruker, en lokal bruker eller kontoen System.
- /rp: passord for kontoen som er angitt i /ruDen brukes ikke med
/ru Systemfordi SYSTEM-kontoen ikke har et passord. - /mnd: frekvensmodifikator innenfor programmeringstypen (hvor mange minutter, timer, dager, uker eller måneder).
- /d: spesifikk dag eller dager for UKENTLIG eller visse moduser for MÅNEDLIG (for eksempel,
/d MON,FRI). - /m: spesifikke måneder (JAN-DES eller * for alle).
- /st: starttid i 24-timers format (
HH:MM). - /et o /dusluttid eller maksimal varighet for tidsplaner i minutter/timer.
- /sd y /edstart- og sluttdatoer i henhold til systemets regionale innstillinger.
- /Punkt: får oppgaven til å kjøre bare hvis den utførende brukeren er logget inn interaktivt.
- /np: lagrer ikke passord; oppgaven kjører ikke-interaktivt og bare med lokale ressurser.
- /z: sletter automatisk oppgaven når planleggingen avsluttes.
- /rl: privilegienivå (BEGRENSET eller HØYEST).
- /f: tvinger frem opprettelse eller modifisering, overskriving uten å be om bekreftelse.
Det finnes mer avanserte parametere (XML, bakoverkompatibilitet, forsinkelser med /utsette(HRESULT-koder osv.), men med det ovennevnte kan du dekke så godt som alle standardscenarier.
Planlegg oppgaver med ulik frekvens
En av styrkene til schtasks Det er fleksibiliteten i å definere frekvensen. Du kan justere fra utførelser med noen minutters mellomrom til utgivelser på den siste dagen i bestemte måneder eller den andre søndagen i hvert kvartal.
For minutt-for-minutt-planer, den brukes /sc minuttModifikatoren / mo Dette angir hvor ofte oppgaven startes i minutter. Hvis du ikke spesifiserer, er standardverdien 1 minutt.
Eksempelintervall 20 minutter: schtasks /create /sc minute /mo 20 /tn "Security Script" /tr \\central\data\scripts\sec.vbs
Eksempel med tidsluke: schtasks /create /tn "Security Script" /tr sec.vbs /sc minute /mo 100 /st 17:00 /et 08:00 /k
For planlegging brukes /sc timeog igjen / mo Angir hvor ofte. For eksempel, for å kjøre MyApp hver 5. time fra 1. mars:
Eksempel på timeplan for 5 timer: schtasks /create /sc hourly /mo 5 /sd 03/01/2002 /tn MyApp /tr c:\apps\myapp.exe
I daglige timeplaner (/sc daglig) du kan bruke / mo for å spre ut kjøringene. For eksempel, kjør MyApp hver 12. dag fra en bestemt dato:
Eksempel på daglig avstand: schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc daily /mo 12 /sd 12/31/2002 /st 13:00
Den ukentlige timeplanen er definert med /sc ukentlig, kombinere / mo (intervall på uker) og /d (Ukedager: MAN, TIR, ONS, TOR, FRE, LØR, SØN eller *). For eksempel, for å starte MinApp annenhver fredag:
Ukentlig eksempel (hver 2. uke): schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc weekly /mo 2 /d FRI
Det finnes flere alternativer for månedlige planer:
- Innen en bestemt dag i måneden (1–31) med /sc månedlig y /d.
- Per uke og per dag (FØRSTE, ANDRE, TREDJE, FJERDE + /dag) og eventuelt /m med månedene.
- Siste dag i måneden med /mnd SISTE DAG y /m for bestemte måneder eller * for alle.
Månedlig eksempel (siste dag i bestemte måneder): schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc monthly /mo LASTDAY /m FEB,MAR /st 18:00
Spesielle utløsere: engangsutløsere, oppstart, pålogging og inaktivitet
Du vil ikke alltid ha en gjentakende oppgave.Noen ganger trenger du bare å kjøre noe én gang på en bestemt dato og et bestemt klokkeslett. Det er det følgende typen er til for. /sc én gangsom krever en /st og, normalt sett, en /sd:
Eksempel på enkelt utførelse: schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc once /sd 01/01/2003 /st 00:00
ONSTART-typen (/sc onstartDette gjør at oppgaven kjører ved hver systemoppstart, ideelt for vedlikeholdsskript, overvåking eller tilpassede tjenester:
Eksempel på OnStart: schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc onstart
PÅLOGGING (/sc onlogonDette utfører oppgaven når en bruker logger på. Du kan bruke den til å starte miljøskript, montere nettverksstasjoner, starte interne applikasjoner og mer. For eksempel på en ekstern datamaskin:
Eksempel på ekstern pålogging: schtasks /create /tn "Start Web Site" /tr c:\myiis\webstart.bat /sc onlogon /s Server23
ONIDLE (/sc onidle) utløser oppgaven når datamaskinen har vært inaktiv i en periode, som du definerer med /i i minutter. For eksempel, for å starte MyApp når enheten har vært inaktiv i 10 minutter:
Eksempel På tomgang 10 min: schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc onidle /i 10
Opprett oppgaver med spesifikke rettigheter: alternativ bruker og SYSTEM
En veldig kraftig bruk av schtasks er å starte oppgaver med forskjellige kontoer. av den du bruker for øyeblikket. Du kan for eksempel planlegge vedlikehold under en administratorkonto selv om du er logget inn med en begrenset bruker, eller kjøre prosesser med SYSTEM-kontoen for å få utvidede tillatelser.
Slik kjører du en oppgave med en annen brukerkonto parameteren brukes /ru sammen med passordet i /rpFor eksempel, å starte MyApp ukentlig på tirsdager som Admin06 på den lokale maskinen:
Eksempel på /ru-alternativ: schtasks /create /tn MyApp /tr myapp.exe /sc weekly /d TUE /ru Admin06
På eksterne systemer styrer /uy og /p hvem som planlegger oppgaven.Mens /ru Definer under hvilken konto det skal utføres. Dette er forskjellige konsepter som ikke bør blandes:
- /upåloggingsinformasjon for å kjøre schtasks-kommandoen og opprette oppgaven på fjernkontrollen.
- /ru: kontoen som oppgaven skal utføres med når tiden er inne.
Eksternt eksempel med forskjellige kontoer: schtasks /create /tn MyApp /tr myapp.exe /sc daily /mo 4 /s Marketing /u Marketing\Admin01 /ru Reskits\User01
Hvis du vil bruke SYSTEM-kontoensom har svært høye privilegier, er det nok å spesifisere /ru System Uten passord. For eksempel, for å kjøre MyApp den 15. i hver måned som SYSTEM:
Eksempel som SYSTEM: schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc monthly /d 15 /ru System
Merk at prosesser som kjører som SYSTEM De er ikke interaktive: brukeren ser ikke vinduer eller kan samhandle med dem. De er ideelle for tjenester, vedlikeholdsskript eller systemoppgaver, men ikke for å åpne programmer som er synlige for brukeren.
Administrer eksisterende oppgaver: endre, kjør, oppgi og stopp
Når du har opprettet oppgaver, schtasks Den tilbyr flere underkommandoer for å administrere dem uten å åpne den grafiske konsollen for Oppgaveplanlegger.
For å endre egenskaper av en eksisterende oppgave brukes schtasks /endringDu kan endre programmet det kjører, brukeren det kjører på, passordet eller angi at det bare skal kjøre i interaktive økter:
- / trny kjørbar fil eller skript.
- /runy utførelseskonto (bruker eller SYSTEM).
- /rp: passord for kontoen i /ru.
- /Punkt: markerer oppgaven som «bare når brukeren er logget inn».
Eksempel på skriptendring: schtasks /change /tn "OpenWebinarsSchedule" /tr C:\Users\OpenWebinars\Documents\Release\nuevo_script.bat
Hvis du vil starte en oppgave akkurat nåignorerer programmeringen, bruker du schtasks /runDenne utførelsen endrer ikke neste planlagte dato:
Kjør umiddelbart: schtasks /run /tn "OpenWebinarsSchedule"
Å liste opp teamets oppgaver brukes schtasks /spørringDu kan få en enkel liste, en tabell eller et detaljert listeformat:
schtasks /query→ grunnleggende liste.schtasks /query /fo LIST /v→ detaljert liste, veldig nyttig for feilsøking.
Hvis en oppgave kjører et program du vil stoppe, du har schtasks /sluttDu trenger bare navnet på oppgaven:
Tving oppgavestopp: schtasks /end /tn "OpenWebinarsSchedule"
Og når du ikke lenger trenger en oppgaveDu eliminerer det med schtasks /slettDu kan slette en bestemt oppgave eller alle (forsiktig):
schtasks /delete /tn OpenWebinarsSchedule /f→ Slett oppgaven uten å be om bekreftelse.schtasks /delete /tn * /f→ Sletter alle planlagte systemoppgaver.
Utholdenhet gjennom planlagte oppgaver (teknisk og sikkerhetsmessig visjon)
En avansert og delikat bruk av schtasks Det innebærer å opprette oppgaver som en vedvarende mekanisme: konfigurere et program eller skript til å kjøre med jevne mellomrom eller ved systemoppstart, selv om ingen logger seg inn. Dette er nyttig for legitime administratorer, men angripere bruker det også, så det er viktig å forstå det godt fra perspektivet til... Cybersecurity.
En planlagt oppgave i Windows er rett og slett en kommando Dette lar systemet kjøre en kommando, et skript eller en kjørbar fil på et bestemt tidspunkt eller med en viss frekvens. Hvis denne oppgaven er definert med SYSTEM-kontoen og med svært kort frekvens, kan du få en binærfil til å kjøre kontinuerlig selv om noen lukker den.
Eksempel på persistens (SYSTEM hvert N minutt): schtasks /create /ru "SYSTEM" /sc minute /mo <minutos> /tn "<nombre>" /tr "<comando>"
Oversikt over forrige bestilling:
- /ru «SYSTEM»: utfører oppgaven med SYSTEM-kontoen, det vil si med svært høye rettigheter.
- /sc minutt: type programmering i minutter.
- /mndrepetisjonsintervall, for eksempel 10 for hvert tiende minutt.
- /tn « »: identifiserende navn på oppgaven, som kan kamufleres som noe uskyldig hvis noen vil gå ubemerket hen.
- /tr « »program eller skript som skal kjøres (fullstendig sti med argumenter).
Det finnes eksempler der schtasks kombineres med verktøy som plink.exe å etablere reversforbindelser, havnetunneler og lignende, konfigurert til å starte på nytt med jevne mellomrom. Fra et defensivt synspunkt, gjennomgå de planlagte oppgavene med jevne mellomrom med schtasks /query /fo LIST /v og hendelsesvisningen er obligatorisk for å oppdage denne typen bruk.
Fra AT til schtasks: hvorfor du ikke bør bruke AT lenger
I årevis innlemmet Windows AT-kommandoen. for å planlegge oppgaver. I moderne versjoner er denne kommandoen offisielt utdatert, og selve konsollen forteller deg dette når du prøver å bruke den: «AT-kommandoen er utdatert. Bruk schtasks.exe i stedet.»
AT tillot programmering av enkle kommandoer spesifiserer kun klokkeslett, dato og kommandoen som skal utføres. For eksempel, for å kopiere dokumenter til en annen stasjon hver midnatt:
Klassisk AT-eksempel: at 00:00 cmd /c copy C:\Documents\*.* J:\MyDocs
Du kan også liste opp og slette AT-oppgaver med variasjoner av samme kommando (etter ID, på eksterne maskiner osv.). Den var imidlertid ikke i nærheten av å ha den fleksibiliteten, granulariteten i tillatelser eller de avanserte alternativene som schtasks tilbyr.
I Windows 10 og nyere finnes AT fortsatt Den fungerer bare som en kompatibilitetspakke, men den returnerer meldinger om at forespørselen ikke støttes. Hvis du jobber med eldre versjoner av Windows der den fortsatt fungerer, anbefales det å migrere automatiseringene dine til Schtasks, som er det støttede og mye kraftigere verktøyet.
Schtasks versus det grafiske grensesnittet for oppgaveplanleggeren
Alt som schtasks gjør kan også gjøres fra Grafisk konsoll for oppgaveplanlegger (åpnes) taskschd.msc fra Kjør), men bruk av kommandolinjen har klare fordeler: du kan automatisere distribusjoner, generere gjenbrukbare skript, bruke endringer samtidig eller jobbe mot eksterne team uten å sitte foran dem.
En svært praktisk tilnærming i blandede miljøer Det handler om å kombinere begge verdener: du oppretter en basisoppgave fra det grafiske grensesnittet for å forstå alle innstillingene, eksporterer den til XML, og bruker deretter schtasks med parameteren /xml å distribuere kopier ved å bare justere det som er nødvendig (bruker, datoer osv.).
Du kan også integrere schtasks i .bat- eller .ps1-skript sammen med andre vedlikeholdsoppgaver: rengjøring logger, omstart av tjenester, lansering av sikkerhetskopier eller varsler, alt utløst av én planlagt oppgave som kaller et hovedskript.
Hvis du administrerer mange maskiner eller brukere, mestre oppgaver og programmer for å automatisere oppgaver Det vil spare deg for å stå opp tidlig for å ta manuelle sikkerhetskopier, forhindre at du glemmer ting, og redusere risikoen for menneskelige feil ved å stadig gjenta de samme handlingene manuelt. Det lærer bokstavelig talt systemet å gjøre det som stjeler tiden din hver dag.
En grundig forståelse av schtasks, programmeringsparameterne og samspillet mellom /u, /ru, lokale og eksterne tillatelser Den lar deg automatisere nesten alle rutiner i Windows nøyaktig, sikkert og reproduserbart, slik at datamaskinen kan gjøre det den er best på: følge instruksjoner til punkt og prikke 24 timer i døgnet.
Lidenskapelig forfatter om verden av bytes og teknologi generelt. Jeg elsker å dele kunnskapen min gjennom å skrive, og det er det jeg skal gjøre i denne bloggen, vise deg alle de mest interessante tingene om dingser, programvare, maskinvare, teknologiske trender og mer. Målet mitt er å hjelpe deg med å navigere i den digitale verden på en enkel og underholdende måte.