- Schtasks je linijski interfejs od naredbe iz Planera zadataka i omogućava vam kreiranje, mijenjanje, pokretanje i brisanje zadataka lokalno i udaljeno.
- Ključni parametri kao što su /sc, /tn, /tr, /ru, /mo, /st ili /d definiraju šta se pokreće, s kojim dozvolama i s kojom učestalošću ili uvjetom okidanja.
- Upravljanje dozvolama i računima (Administrator, SISTEM, udaljeni korisnici sa /uy /p) je ključno za ispravno kreiranje i izvršavanje zadataka.
- Schtasks zamjenjuje staru AT naredbu i nudi robusnu platformu za automatizaciju održavanja, skripti i ponavljajućih procesa u Windows.
Planiranje zadataka u Windowsu pomoću schtasks-a To je jedna od onih stvari koja, kada je savladate, tjera vas da se zapitate zašto ste godinama ručno obavljali repetitivne zadatke. Sigurnosne kopije u neobično vrijeme, skripte koje pokrećete svako jutro, servisi koje morate ponovo pokrenuti nakon prekida... sve se to može automatizirati jednostavnom naredbom.
schtasks komanda je interfejs komandne linije Windows Task Scheduler vam omogućava kreiranje, mijenjanje, listanje, pokretanje i brisanje zadataka i na vašem računaru i na udaljenim mašinama na mreži. Pogledajmo detaljnije, s jasnim primjerima i objašnjenjima svakog ključnog parametra kako biste mogli izvući maksimum iz njega, od jednostavnih automatizacija do naprednih scenarija koji uključuju korisnike, dozvole i udaljene računare.
Šta je schtasks i šta vam može pomoći

Schtasks.exe je konzolni alat. koji Windows koristi za komunikaciju sa Planerom zadataka. Zahvaljujući njemu, možete definirati da program, skripta Naredba će se automatski izvršiti na određeni datum i vrijeme ili po određenom rasporedu, bez potrebe za dodirivanjem grafičkog interfejsa.
Pomoću schtasks-a možete zakazivati ponavljajuće zadatke (svakih X minuta, sati, dana, sedmica ili mjeseci), zadaci koji se pokreću prilikom pokretanja sistema, prilikom prijave određenog korisnika, kada je računar u stanju mirovanja ili čak kao odgovor na sistemske događaje. Osim toga, zadatke možete pokretati pod različitim korisničkim računima (uključujući SYSTEM račun) i na udaljenim računarima.
Osnovne operacije schtask-a Grupirane su u šest glavnih podnaredbi, koje ćete koristiti 99% vremena:
- promjena školskih zadataka: mijenja svojstva postojećeg zadatka (program koji će se pokrenuti, korisnik, lozinka, interaktivni način rada…).
- schtasks kreiranje: kreira novi planirani zadatak.
- schtasks brisanje: briše zadatak iz planera.
- Kraj školskih zadataka: zaustavlja program koji izvršava zadatak.
- schtasks upit: prikazuje planirane zadatke tima.
- schtasks pokrenut: prisiljava trenutno izvršenje zadatka koji je već kreiran.
Iza ovih operacija stoji mnogo parametara Da biste definirali učestalost, datum početka i završetka, korisnika pod kojim se zadatak izvršava, udaljeni tim, kašnjenja, trajanje, nivoe privilegija itd. Detaljno smo ih objasnili u nastavku.
Dozvole potrebne za rad sa schtasks-om

Prije nego što počnete ludo kreirati zadatkeVažno je da budete jasni u vezi s tim koje dozvole su vam potrebne, jer ćete u suprotnom završiti sa zadacima koji su kreirani, ali se ne izvršavaju ili koji tiho ne uspijevaju.
U lokalnom timu, za upravljanje svim zadacima Da biste pregledali, kreirali, mijenjali i brisali zadatke, morate biti administrator. Standardni korisnik može u nekim slučajevima kreirati vlastite zadatke, ali ako želite potpunu kontrolu nad sistemom, učinite to s računa s administratorskim privilegijama.
U udaljenim timovima, stvari su slične.Račun koji koristite mora biti administratorski na udaljenom računaru. Možete pokrenuti komandu sa svog računara i koristiti parametar. /s da naznači odredišni tim i /u y /p da biste obezbijedili administratorske akreditive za taj računar ili domenu.
Parametar /u ispravno funkcioniše samo Ovo se dešava kada se lokalni i udaljeni računari nalaze na istoj domeni ili na domenama sa konfigurisanim povjerenjem. Ako ne postoji odnos povjerenja, udaljeni računar ne može autentifikovati račun koji navedete i zadatak će biti pogrešno konfigurisan ili prazan, iako izgleda kao da je kreiran.
Osim toga, sam zadatak mora imati dovoljne dozvole da uradi ono što tražite. Podrazumevano, zadaci se izvršavaju pod trenutnim korisnikom ili onim kojeg navedete pomoću /uAko želite da se pokrenu s drugim računom ili direktno sa sistemskim dozvolama, morate koristiti parametar /ru (Pokreni kao korisnik) i, normalno, /rp da unesete lozinku.
Opšta sintaksa schtask-ova i ključnih parametara
Sintaksa schtask-a je prilično opsežna.Međutim, uvijek slijedi isti obrazac: podnaredba, nakon koje slijede parametri koji definiraju šta, kada, gdje i s kojim dozvolama se zadatak izvršava. Opći format za kreiranje zadataka je:
schtasks /create /sc <tipo_programación> /tn <nombre_tarea> /tr <comando_o_programa>
Osnovni parametri prilikom kreiranja zadatka One su sledeće:
- /scvrsta programiranjeTipične vrijednosti:
- MINUTEsvakih N minuta.
- HOURLYsvakih N sati.
- DNEVNIsvakih N dana.
- TJEDNOsvakih N sedmica.
- MJESEČNIsvakih N mjeseci.
- ONCEjednokratno izvršenje.
- POČETAKu svakom boot sistema.
- PRIJAVA: kada se korisnik prijavi.
- ONIDLE: kada je sistem neaktivan X minuta.
- JEDAN DOGAĐAJ: kao odgovor na određeni događaj u dnevniku.
- /tnJedinstveni naziv zadatka. Može uključivati putanju mape (na primjer,
"MiCarpeta\BackupDB"). Maksimalno 238 znakova. - /trPuna putanja do izvršne datoteke, skripte ili .bat datoteke koja će se izvršiti. Ako ne navedete putanju, pretpostavit će se.
%SystemRoot%\System32Maksimalna dužina 262 znaka. - /s: udaljeni računar (ime ili IP adresa). Ako ga ne koristite, djelujete na lokalnom računaru.
- /ili: vjerodajnice s kojima se izvršava sama schtasks naredba (za daljinsko programiranje).
- /str.: lozinka korisnika navedenog u /uAko ga ne unesete, konzola će ga tražiti.
- /ru { | sistem}Račun pod kojim će se zadatak izvršiti. Možete koristiti korisnika domene, lokalnog korisnika ili račun sistem.
- /rp: lozinka za račun naveden u /ruNe koristi se sa
/ru Systemjer SYSTEM račun nema lozinku. - /mj.modifikator frekvencije unutar tipa programiranja (koliko minuta, sati, dana, sedmica ili mjeseci).
- /d: određeni dan ili dani za SEDMIČNO ili određene načine MJESEČNOG (na primjer,
/d MON,FRI). - /m: određeni mjeseci (JAN-DEC ili * za sve).
- /stvrijeme početka u 24-satnom formatu (
HH:MM). - /et o /duvrijeme završetka ili maksimalno trajanje rasporeda u minutama/satima.
- /sd y /ed: datum početka i završetka u skladu s regionalnim postavkama sistema.
- /Stavka: pokreće zadatak samo ako je korisnik koji ga izvršava interaktivno prijavljen.
- /np: ne sprema lozinku; zadatak se izvršava neinteraktivno i samo s lokalnim resursima.
- /z: automatski briše zadatak kada se raspored završi.
- /rl: nivo privilegija (OGRANIČEN ili NAJVIŠI).
- /f: prisiljava kreiranje ili modifikaciju, prepisivanje bez traženja potvrde.
Postoje napredniji parametri (XML, unatrag kompatibilna, kašnjenja sa /kašnjenje(HRESULT kodovi, itd.), ali s gore navedenim možete pokriti gotovo svaki standardni scenario.
Planirajte zadatke s različitim učestalostima
Jedna od prednosti schtask-a To je fleksibilnost u definiranju učestalosti. Možete prilagoditi od izvršavanja svakih nekoliko minuta do objavljivanja posljednjeg dana u određenim mjesecima ili druge nedjelje svakog kvartala.
Za rasporede iz minute u minutu, koristi se /sc minutaModifikator / mjesec Ovo označava koliko često se zadatak pokreće u minutama. Ako ne odredite, zadana vrijednost je 1 minuta.
Primjer intervala od 20 minuta: schtasks /create /sc minute /mo 20 /tn "Security Script" /tr \\central\data\scripts\sec.vbs
Primjer s vremenskim intervalom: schtasks /create /tn "Security Script" /tr sec.vbs /sc minute /mo 100 /st 17:00 /et 08:00 /k
Za zakazivanje se koristi /sc svakog sata, i opet / mjesec Označava koliko često. Na primjer, da bi se MyApp pokretao svakih 5 sati počevši od 1. marta:
Primjer rasporeda za 5 sati: schtasks /create /sc hourly /mo 5 /sd 03/01/2002 /tn MyApp /tr c:\apps\myapp.exe
U dnevnim rasporedima (/sc dnevno) možeš koristiti / mjesec da se rasporede izvršavanja. Na primjer, pokrenite MyApp svakih 12 dana počevši od određenog datuma:
Primjer dnevnog rasporeda: schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc daily /mo 12 /sd 12/31/2002 /st 13:00
Sedmični raspored je definirano sa /sc sedmično, kombiniranje / mjesec (interval od nekoliko sedmica) i /d (Dani u sedmici: PON, UTO, SRI, ČET, PET, SUB, NED ili *). Na primjer, da biste pokrenuli MyApp svaki drugi petak:
Sedmični primjer (svake 2 sedmice): schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc weekly /mo 2 /d FRI
Postoji nekoliko opcija za mjesečne rasporede:
- Do određenog dana u mjesecu (1-31) sa /sc mjesečno y /d.
- Sedmično i dnevno (PRVI, DRUGI, TREĆI, ČETVRTI + /dan) i opcionalno /m s mjesecima.
- Posljednji dan u mjesecu con /mj. POSLJEDNJI DAN y /m za određene mjesece ili * za sve.
Mjesečni primjer (posljednji dan određenog mjeseca): schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc monthly /mo LASTDAY /m FEB,MAR /st 18:00
Specijalni okidači: jednokratni, pokretanje, prijava i neaktivnost
Ne želite uvijek zadatak koji se ponavlja.Ponekad je potrebno nešto pokrenuti samo jednom na određeni datum i vrijeme. Za to služi sljedeći tip. /sc jednomšto zahtijeva /st i, obično, a /sd:
Primjer pojedinačnog izvršenja: schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc once /sd 01/01/2003 /st 00:00
Tip ONSTART (/sc onstartZbog toga se zadatak pokreće pri svakom pokretanju sistema, što je idealno za skripte za održavanje, praćenje ili prilagođene usluge:
Primjer na početku: schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc onstart
PRIJAVA (/sc onlogonOvo izvršava zadatak kada se korisnik prijavi. Možete ga koristiti za pokretanje skripti okruženja, montiranje mrežnih diskova, pokretanje internih aplikacija i još mnogo toga. Na primjer, na udaljenom računaru:
Primjer udaljenog OnLogon-a: schtasks /create /tn "Start Web Site" /tr c:\myiis\webstart.bat /sc onlogon /s Server23
ONIDLE (/sc onidle) pokreće zadatak kada je računar neaktivan određeni vremenski period, koji definišete pomoću /i u minutama. Na primjer, da biste pokrenuli MyApp kada je uređaj neaktivan 10 minuta:
Primjer U mirovanju 10 min: schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc onidle /i 10
Kreirajte zadatke sa određenim privilegijama: alternativni korisnik i SISTEM
Vrlo moćna upotreba schtasks-a je pokretanje zadataka s različitim računima. onog koji trenutno koristite. Na primjer, možete zakazati održavanje pod administratorskim računom čak i ako ste prijavljeni kao korisnik s ograničenim pravima ili pokretati procese sa SYSTEM računom kako biste imali povišene dozvole.
Za pokretanje zadatka s drugim korisničkim računom parametar se koristi /ru zajedno sa lozinkom u /rpNa primjer, pokretanje MyApp-a sedmično utorkom kao Admin06 na lokalnom računaru:
Primjer alternative za /ru: schtasks /create /tn MyApp /tr myapp.exe /sc weekly /d TUE /ru Admin06
Na udaljenim sistemima, /uy i /p kontrolišu ko planira zadatak.dok /ru Definišite pod kojim računom će se izvršiti. Ovo su različiti koncepti koje ne treba miješati:
- /u: vjerodajnice za pokretanje schtasks naredbe i kreiranje zadatka na udaljenom uređaju.
- /ru: račun s kojim će se zadatak izvršiti kada za to dođe vrijeme.
Primjer udaljenog pristupa s različitim računima: schtasks /create /tn MyApp /tr myapp.exe /sc daily /mo 4 /s Marketing /u Marketing\Admin01 /ru Reskits\User01
Ako želite koristiti sistemski računko ima vrlo visoke privilegije, dovoljno je navesti /ru System Bez lozinke. Na primjer, da biste pokrenuli MyApp 15. u mjesecu kao SYSTEM:
Primjer kao SISTEM: schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc monthly /d 15 /ru System
Imajte na umu da se procesi koji se izvršavaju kao SYSTEM Nisu interaktivni: korisnik ne vidi prozore niti može komunicirati s njima. Idealni su za usluge, skripte za održavanje ili sistemske zadatke, ali ne i za otvaranje aplikacija vidljivih korisniku.
Upravljanje postojećim zadacima: promjena, pokretanje, lista i zaustavljanje
Nakon što kreirate zadatke, schtasks Nudi nekoliko podnaredbi za upravljanje njima bez otvaranja grafičke konzole Planera zadataka.
Za promjenu svojstava koristi se postojeći zadatak schtasks /changeMožete izmijeniti program koji pokreće, korisnika na kojem pokreće, lozinku ili ga postaviti da se pokreće samo u interaktivnim sesijama:
- /trnova izvršna datoteka ili skripta.
- /runovi izvršni račun (korisnik ili SISTEM).
- /rp: lozinka za račun u /ru.
- /Stavka: označava zadatak kao „samo kada je korisnik prijavljen“.
Primjer promjene skripte: schtasks /change /tn "OpenWebinarsSchedule" /tr C:\Users\OpenWebinars\Documents\Release\nuevo_script.bat
Ako želite odmah pokrenuti zadatakignorirajući njegovo programiranje, koristite schtasks /runOvo izvršenje ne mijenja sljedeći planirani datum:
Odmah pokreni: schtasks /run /tn "OpenWebinarsSchedule"
Da navedete zadatke tima se koristi schtasks /upitMožete dobiti jednostavnu listu, tabelu ili detaljan format liste:
schtasks /query→ osnovna lista.schtasks /query /fo LIST /v→ detaljan popis, vrlo koristan za rješavanje problema.
Ako zadatak pokreće program koji želite zaustaviti, imaš schtasks /krajPotreban vam je samo naziv zadatka:
Prisilno zaustavljanje zadatka: schtasks /end /tn "OpenWebinarsSchedule"
I kada vam više nije potreban zadatakEliminišete ga sa schtasks /deleteMožete izbrisati određeni zadatak ili sve njih (pažljivo):
schtasks /delete /tn OpenWebinarsSchedule /f→ Izbriši taj zadatak bez traženja potvrde.schtasks /delete /tn * /f→ Briše sve planirane sistemske zadatke.
Istrajnost kroz planirane zadatke (tehnička i sigurnosna vizija)
Napredna i delikatna upotreba schtasks-a To uključuje kreiranje zadataka kao mehanizma perzistencije: konfigurisanje programa ili skripte da se pokreće periodično ili pri pokretanju sistema, čak i ako se niko ne prijavi. Ovo je korisno za legitimne administratore, ali i napadači to koriste, tako da je važno dobro razumjeti iz perspektive... cybersecurity.
Planirani zadatak u Windowsu je jednostavno naredba Ovo omogućava sistemu da pokrene komandu, skriptu ili izvršnu datoteku u određeno vrijeme ili s određenom učestalošću. Ako je ovaj zadatak definiran sa SYSTEM računom i vrlo kratkom učestalošću, možete učiniti da binarna datoteka radi kontinuirano čak i ako je neko zatvori.
Primjer perzistencije (SYSTEM svakih N minuta): schtasks /create /ru "SYSTEM" /sc minute /mo <minutos> /tn "<nombre>" /tr "<comando>"
Analiziranje prethodne narudžbe:
- /ru «SISTEM»: izvršava zadatak sa SYSTEM računom, odnosno sa vrlo visokim privilegijama.
- /sc minutaVrsta programiranja u minutama.
- /mj.interval ponavljanja, na primjer 10 za svakih deset minuta.
- /tn « »Identifikacijski naziv zadatka, koji se može prikriti kao nešto nevino ako neko želi proći nezapaženo.
- /tr « »program ili skripta koja će se izvršiti (puna putanja s argumentima).
Postoje primjeri gdje su schtask-ovi kombinovani s alatima poput plink.exe uspostavljanje obrnutih veza, tunela portova i slično, konfigurisanih za periodično ponovno pokretanje. Sa defanzivnog stanovišta, periodično pregledajte planirane zadatke sa schtasks /query /fo LIST /v i preglednik događaja je obavezan za otkrivanje ove vrste upotrebe.
Od AT-a do schtasksa: zašto više ne biste trebali koristiti AT
Godinama je Windows uključivao AT naredbu. za zakazivanje zadataka. U modernim verzijama, ova naredba je zvanično zastarjela, a sama konzola vam to govori kada pokušate da je koristite: „AT naredba je zastarjela. Umjesto nje koristite schtasks.exe.“
AT je dozvoljavao programiranje jednostavnih komandi navodeći samo vrijeme, datum i naredbu koju treba izvršiti. Na primjer, za kopiranje dokumenata na drugi disk svake ponoći:
Klasičan AT primjer: at 00:00 cmd /c copy C:\Documents\*.* J:\MyDocs
Također možete navesti i izbrisati AT zadatke sa varijacijama iste komande (po ID-u, na udaljenim mašinama itd.). Međutim, nije se ni blizu približila fleksibilnosti, granularnosti dozvola ili naprednim opcijama koje schtasks nudi.
U Windowsu 10 i novijim verzijama, AT i dalje postoji. Radi samo kao omotač kompatibilnosti, ali vraća poruke da zahtjev nije podržan. Ako radite sa starijim verzijama Windowsa gdje još uvijek radi, preporučuje se da migrirate automatizacije na Schtasks, koji je podržani i mnogo moćniji alat.
Schtasks u poređenju sa grafičkim interfejsom Planera zadataka
Sve što schtasks radi, može se uraditi i iz Grafička konzola za raspoređivanje zadataka (otvara se) taskschd.msc iz Run), ali korištenje komandne linije ima jasne prednosti: možete automatizirati implementacije, generirati skripte za višekratnu upotrebu, primjenjivati promjene u velikim količinama ili raditi protiv udaljenih timova bez sjedenja ispred njih.
Vrlo praktičan pristup u mješovitim okruženjima Radi se o kombinovanju oba svijeta: kreirate osnovni zadatak iz grafičkog interfejsa kako biste razumjeli sve postavke, izvozite ga u XML, a zatim koristite schtasks sa parametrom /xml da se kopije rasporede podešavanjem samo onoga što je neophodno (korisnik, datumi itd.).
Također možete integrirati schtasks u .bat ili .ps1 skripte zajedno s drugim zadacima održavanja: čišćenjem rezanje, ponovno pokretanje servisa, pokretanje sigurnosnih kopija ili obavještenja, sve pokrenuto jednim planiranim zadatkom koji poziva glavni skript.
Ako upravljate s više mašina ili korisnika, majstor školskih zadataka i programi za automatizaciju zadataka To će vas spasiti ranog ustajanja radi ručnog pravljenja sigurnosnih kopija, spriječiti da zaboravite stvari i smanjiti rizik ljudske greške stalnim ručnim ponavljanjem istih radnji. Bukvalno uči sistem da umjesto vas radi ono što vam svakodnevno krade vrijeme.
Temeljno razumijevanje schtasks-a, njegovih programskih parametara i interakcije između /u, /ru, lokalnih i udaljenih dozvola Omogućava vam da automatizujete gotovo svaku rutinu u Windowsu precizno, sigurno i ponovljivo, dopuštajući računaru da radi ono što najbolje radi: pratite uputstva doslovno 24/7.
Strastveni pisac o svijetu bajtova i tehnologije općenito. Volim dijeliti svoje znanje kroz pisanje, a to je ono što ću raditi na ovom blogu, pokazivati vam sve najzanimljivije stvari o gadžetima, softveru, hardveru, tehnološkim trendovima i još mnogo toga. Moj cilj je pomoći vam da se krećete u digitalnom svijetu na jednostavan i zabavan način.