- Schtasks je linkové rozhranie príkazy z Plánovača úloh a umožňuje vám vytvárať, upravovať, spúšťať a odstraňovať úlohy lokálne aj vzdialene.
- Kľúčové parametre ako /sc, /tn, /tr, /ru, /mo, /st alebo /d definujú, čo sa spúšťa, s akými oprávneniami a s akou frekvenciou alebo spúšťacou podmienkou.
- Správa oprávnení a účtov (Administrátor, SYSTÉM, vzdialení používatelia s /uy /p) je kľúčová pre správne vytváranie a vykonávanie úloh.
- Schtasks nahrádza starý AT príkaz a ponúka robustnú platformu na automatizáciu údržby, skriptov a opakujúcich sa procesov v... Windows.
Plánovanie úloh vo Windowse pomocou schtasks Je to jedna z tých vecí, ktoré po zvládnutí vás prinútia zamyslieť sa nad tým, prečo ste roky manuálne vykonávali opakujúce sa úlohy. Zálohy v nezvyčajných hodinách, skripty, ktoré spúšťate každé ráno, služby, ktoré musíte reštartovať po výpadku... to všetko sa dá automatizovať jednoduchým príkazom.
Príkaz schtasks je rozhranie príkazového riadka Plánovač úloh systému Windows vám umožňuje vytvárať, upravovať, zobrazovať, spúšťať a odstraňovať úlohy na vašom vlastnom počítači aj na vzdialených počítačoch v sieti. Pozrime sa na to bližšie s jasnými príkladmi a vysvetleniami každého kľúčového parametra, aby ste z toho vyťažili maximum, od jednoduchých automatizácií až po pokročilé scenáre týkajúce sa používateľov, povolení a vzdialených počítačov.
Čo je schtasks a čo pre vás môže urobiť

Schtasks.exe je konzolový nástroj ktorý systém Windows používa na komunikáciu s Plánovačom úloh. Vďaka nemu môžete definovať, že program, scenár Príkaz sa vykoná automaticky v konkrétnom dátume a čase alebo podľa konkrétneho plánu bez nutnosti dotyku grafického rozhrania.
Pomocou schtasks si môžete naplánovať opakujúce sa úlohy (každých X minút, hodín, dní, týždňov alebo mesiacov), úlohy, ktoré sa spúšťajú pri spustení systému, pri prihlásení konkrétneho používateľa, keď je počítač nečinný alebo dokonca v reakcii na systémové udalosti. Okrem toho môžete úlohy spúšťať pod rôznymi používateľskými účtami (vrátane účtu SYSTEM) a na vzdialených počítačoch.
Základné operácie schtasks Sú zoskupené do šiestich hlavných podpríkazov, ktoré budete používať 99 % času:
- zmena schtasks: upravuje vlastnosti existujúcej úlohy (program, ktorý sa má spustiť, používateľ, heslo, interaktívny režim…).
- vytvoriť pomocou schtasks: vytvorí novú naplánovanú úlohu.
- odstrániť schtasks: odstráni úlohu z plánovača.
- koniec schtasks: zastaví program, ktorý práve spúšťa úlohu.
- dotaz schtasks: zobrazuje naplánované úlohy tímu.
- spustiť schtasks: vynúti okamžité vykonanie úlohy, ktorá už bola vytvorená.
Za týmito operáciami sa skrýva veľa parametrov Definovať frekvenciu, dátum začiatku a ukončenia, používateľa, pod ktorým sa úloha vykonáva, vzdialený tím, oneskorenia, trvanie, úrovne oprávnení atď. Rozoberáme ich pre vás nižšie.
Povolenia potrebné na prácu so schtasks

Predtým, ako začnete vytvárať úlohy ako blázniJe dôležité mať jasno v tom, aké povolenia potrebujete, pretože inak skončíte s úlohami, ktoré sú vytvorené, ale nie vykonané, alebo ktoré zlyhajú bez povšimnutia.
V miestnom tíme, na riadenie všetkých úloh Na zobrazenie, vytváranie, úpravu a odstraňovanie úloh musíte byť administrátorom. V niektorých prípadoch si môže štandardný používateľ vytvárať vlastné úlohy, ale ak chcete mať úplnú kontrolu nad systémom, urobte tak z účtu s administrátorskými oprávneniami.
V vzdialených tímoch sú veci podobné.Používaný účet musí byť na vzdialenom počítači s oprávneniami správcu. Príkaz môžete spustiť z počítača a použiť parameter. /s označiť cieľový tím a /u y /p poskytnúť prihlasovacie údaje správcu pre daný počítač alebo doménu.
Parameter /u funguje správne iba Toto sa stane, keď sú lokálne a vzdialené počítače v rovnakej doméne alebo v doménach s nakonfigurovanou dôverou. Ak neexistuje vzťah dôveryhodnosti, vzdialený počítač nemôže overiť účet, ktorý zadáte, a úloha bude nesprávne nakonfigurovaná alebo prázdna, aj keď sa zdá, že bola vytvorená.
Okrem toho musí mať samotná úloha dostatočné oprávnenia aby urobil to, čo požadujete. Predvolene sa úlohy spúšťajú pod aktuálnym používateľom alebo používateľom, ktorého zadáte pomocou /uAk chcete, aby sa spustili s iným účtom alebo priamo so systémovými oprávneniami, musíte použiť parameter /ru (Spustiť ako používateľ) a zvyčajne aj /rp zadajte heslo.
Všeobecná syntax schtasks a kľúčové parametre
Syntax príkazov schtask je pomerne rozsiahlaVždy sa však riadi rovnakým vzorom: podpríkaz, za ktorým nasledujú parametre, ktoré definujú, čo, kedy, kde a s akými oprávneniami sa úloha vykoná. Všeobecný formát na vytváranie úloh je:
schtasks /create /sc <tipo_programación> /tn <nombre_tarea> /tr <comando_o_programa>
Základné parametre pri vytváraní úlohy sú:
- /sctyp programovanieTypické hodnoty:
- MINUTEkaždých N minút.
- HODINOVÝkaždých N hodín.
- DAILYkaždých N dní.
- TÝŽDENNÁkaždých N týždňov.
- MESAČNÝkaždých N mesiacov.
- ONCEjednorazové vykonanie.
- ŠTARTv každom topánka systému.
- PRIHLÁSENIE: keď sa používateľ prihlási.
- ONIDLE: keď je systém neaktívny X minút.
- ONEUDALOSŤ: ako reakcia na konkrétnu udalosť v protokole.
- /tn: Jedinečný názov úlohy. Môže obsahovať cestu k priečinku (napríklad
"MiCarpeta\BackupDB"). Maximálne 238 znakov. - /trÚplná cesta k spustiteľnému súboru, skriptu alebo súboru .bat, ktorý sa má spustiť. Ak cestu nezadáte, bude sa predpokladať.
%SystemRoot%\System32Maximálna dĺžka 262 znakov. - /s: vzdialený počítač (názov alebo IP adresa). Ak ho nepoužívate, konáte na lokálnom počítači.
- /alebo: prihlasovacie údaje, s ktorými sa vykoná samotný príkaz schtasks (pre vzdialené programovanie).
- /pheslo používateľa uvedeného v /uAk ho neposkytnete, konzola si ho vyžiada.
- /ru { | systém}Účet, pod ktorým sa úloha vykoná. Môžete použiť používateľa domény, lokálneho používateľa alebo účet systém.
- /rpheslo pre účet uvedený v /ruNepoužíva sa s
/ru Systempretože účet SYSTEM nemá heslo. - /mesiac: modifikátor frekvencie v rámci typu programovania (počet minút, hodín, dní, týždňov alebo mesiacov).
- /d: konkrétny deň alebo dni pre TÝŽDENNÉ alebo určité režimy MESAČNÉ (napríklad
/d MON,FRI). - /m: konkrétne mesiace (JAN-DEC alebo * pre všetky).
- /stčas začiatku v 24-hodinovom formáte (
HH:MM). - /et o /du: čas ukončenia alebo maximálne trvanie pre plány v minútach/hodinách.
- /sd y /ed: dátum začiatku a konca podľa regionálnych nastavení systému.
- /it: spustí úlohu iba v prípade, že je používateľ, ktorý ju vykonáva, interaktívne prihlásený.
- /np: neukladá heslo; úloha beží neinteraktívne a iba s lokálnymi zdrojmi.
- /z: automaticky odstráni úlohu po skončení plánu.
- /rl: úroveň privilégií (OBMEDZENÁ alebo NAJVYŠŠIA).
- /f: vynúti vytvorenie alebo úpravu, prepíše bez vyžiadania potvrdenia.
Existujú pokročilejšie parametre (XML, spätná kompatibilita, oneskorenia s /oneskorenie(kódy HRESULT atď.), ale s vyššie uvedeným môžete pokryť prakticky akýkoľvek štandardný scenár.
Plánovanie úloh s rôznou frekvenciou
Jednou zo silných stránok schtasks Je to flexibilita pri definovaní frekvencie. Môžete upraviť spustenia od každých pár minút až po vydania v posledný deň určitých mesiacov alebo v druhú nedeľu každého štvrťroka.
Pre minútové rozvrhy, používa sa /sc minútaModifikátor / mo Toto označuje, ako často sa úloha spúšťa v minútach. Ak nezadáte hodnotu, predvolená hodnota je 1 minúta.
Príklad intervalu 20 minút: schtasks /create /sc minute /mo 20 /tn "Security Script" /tr \\central\data\scripts\sec.vbs
Príklad s časovým úsekom: schtasks /create /tn "Security Script" /tr sec.vbs /sc minute /mo 100 /st 17:00 /et 08:00 /k
Pre plánovanie sa používa /sc každú hodinu, a znova / mo Označuje, ako často. Napríklad, ak chcete spúšťať MyApp každých 5 hodín od 1. marca:
Príklad rozvrhu na 5 hodín: schtasks /create /sc hourly /mo 5 /sd 03/01/2002 /tn MyApp /tr c:\apps\myapp.exe
V denných rozvrhoch (/sc denne) môžeš použiť / mo na rozloženie spustení. Napríklad spúšťajte MyApp každých 12 dní od určitého dátumu:
Príklad denného rozloženia: schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc daily /mo 12 /sd 12/31/2002 /st 13:00
Týždenný rozvrh je definované pomocou /sc týždenne, kombinovanie / mo (interval týždňov) a /d (Dni v týždni: PO, UT, ST, ŠT, PIA, SO, NE alebo *). Napríklad, ak chcete spúšťať aplikáciu MyApp každý druhý piatok:
Týždenný príklad (každé 2 týždne): schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc weekly /mo 2 /d FRI
Existuje niekoľko možností mesačných rozvrhov:
- Do konkrétneho dňa v mesiaci (1-31) s /sc mesačne y /d.
- Za týždeň a za deň (PRVÝ, DRUHÝ, TRETÍ, ŠTVRTÝ + /deň) a voliteľne /m s mesiacmi.
- Posledný deň v mesiaci s /mesiac POSLEDNÝ DEŇ y /m pre konkrétne mesiace alebo * pre všetky.
Mesačný príklad (posledný deň konkrétnych mesiacov): schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc monthly /mo LASTDAY /m FEB,MAR /st 18:00
Špeciálne spúšťače: jednorazové, spustenie, prihlásenie a nečinnosť
Nie vždy chcete opakujúcu sa úlohu.Niekedy stačí niečo spustiť iba raz v konkrétnom dátume a čase. Na to slúži nasledujúci typ. /sc razčo si vyžaduje /st a zvyčajne aj /sd:
Príklad jedného spustenia: schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc once /sd 01/01/2003 /st 00:00
Typ ONSTART (/sc onstartVďaka tomu sa úloha spustí pri každom spustení systému, čo je ideálne pre skripty údržby, monitorovanie alebo vlastné služby:
Príklad pri spustení: schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc onstart
PRIHLÁSENIE (/sc onlogonToto vykoná úlohu po prihlásení používateľa. Môžete ho použiť na spustenie skriptov prostredia, pripojenie sieťových diskov, spustenie interných aplikácií a mnoho ďalšieho. Napríklad na vzdialenom počítači:
Príklad vzdialeného prihlásenia: schtasks /create /tn "Start Web Site" /tr c:\myiis\webstart.bat /sc onlogon /s Server23
ONIDLE (/sc onidle) spustí úlohu, keď je počítač neaktívny po určitý čas, ktorý definujete pomocou /i v minútach. Napríklad, ak chcete spustiť aplikáciu MyApp, keď je zariadenie neaktívne 10 minút:
Príklad 10 min. pri nečinnosti: schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc onidle /i 10
Vytvorte úlohy so špecifickými oprávneniami: alternatívny používateľ a SYSTÉM
Veľmi účinné využitie schtasks je spúšťanie úloh s rôznymi účtami. toho, ktorý práve používate. Údržbu môžete napríklad naplánovať pod účtom správcu, aj keď ste prihlásení ako používateľ s obmedzenými oprávneniami, alebo spúšťať procesy s účtom SYSTEM, aby ste mali zvýšené oprávnenia.
Spustenie úlohy s iným používateľským účtom parameter sa používa /ru spolu s heslom v /rpNapríklad, spúšťanie aplikácie MyApp každý týždeň v utorok ako Admin06 na lokálnom počítači:
Príklad alternatívy k /ru: schtasks /create /tn MyApp /tr myapp.exe /sc weekly /d TUE /ru Admin06
Na vzdialených systémoch /uy a /p ovládajú, kto plánuje úlohu.Kým /ru Definujte, pod ktorým účtom sa to bude vykonávať. Ide o odlišné pojmy, ktoré by sa nemali zamieňať:
- /u: prihlasovacie údaje na spustenie príkazu schtasks a vytvorenie úlohy na diaľkovom ovládači.
- /ru: účet, pomocou ktorého sa úloha vykoná, keď príde čas.
Príklad vzdialeného prístupu s rôznymi účtami: schtasks /create /tn MyApp /tr myapp.exe /sc daily /mo 4 /s Marketing /u Marketing\Admin01 /ru Reskits\User01
Ak chcete použiť systémový účetkto má veľmi vysoké privilégiá, stačí špecifikovať /ru System Bez hesla. Napríklad, ak chcete spustiť MyApp 15. dňa každého mesiaca ako SYSTEM:
Príklad ako SYSTÉM: schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc monthly /d 15 /ru System
Majte na pamäti, že procesy bežiace ako SYSTEM Nie sú interaktívne: používateľ nevidí okná ani s nimi nemôže interagovať. Sú ideálne pre služby, skripty údržby alebo systémové úlohy, ale nie pre otváranie aplikácií viditeľných pre používateľa.
Spravovať existujúce úlohy: meniť, spúšťať, vypisovať a zastavovať
Keď máte úlohy vytvorené, schtasks Ponúka niekoľko podpríkazov na ich správu bez otvorenia grafickej konzoly Plánovača úloh.
Zmena vlastností existujúcej úlohy sa používa schtasks /zmenaMôžete upraviť program, ktorý spúšťa, používateľa, na ktorom spúšťa, heslo alebo ho nastaviť tak, aby sa spúšťal iba v interaktívnych reláciách:
- /trnový spustiteľný súbor alebo skript.
- /runový vykonávací účet (používateľ alebo SYSTÉM).
- /rp: heslo pre účet v /ru.
- /it: označí úlohu ako „iba keď je používateľ prihlásený“.
Príklad zmeny skriptu: schtasks /change /tn "OpenWebinarsSchedule" /tr C:\Users\OpenWebinars\Documents\Release\nuevo_script.bat
Ak chcete spustiť úlohu hneď terazignorujete jeho programovanie, používate schtasks /runToto vykonanie nemení ďalší plánovaný dátum:
Spustiť okamžite: schtasks /run /tn "OpenWebinarsSchedule"
Zoznam úloh tímu sa používa schtasks /queryMôžete získať jednoduchý zoznam, tabuľku alebo podrobný formát zoznamu:
schtasks /query→ základný zoznam.schtasks /query /fo LIST /v→ podrobný zoznam, veľmi užitočný pri riešení problémov.
Ak úloha spúšťa program, ktorý chcete zastaviť, máš schtasks /koniecPotrebujete len názov úlohy:
Vynútené zastavenie úlohy: schtasks /end /tn "OpenWebinarsSchedule"
A keď už úlohu nepotrebujeteEliminujete to pomocou schtasks /deleteMôžete odstrániť konkrétnu úlohu alebo všetky (opatrne):
schtasks /delete /tn OpenWebinarsSchedule /f→ Odstrániť túto úlohu bez vyžiadania potvrdenia.schtasks /delete /tn * /f→ Odstráni všetky naplánované systémové úlohy.
Vytrvalosť pri plnení plánovaných úloh (technická a bezpečnostná vízia)
Pokročilé a jemné použitie schtasks Zahŕňa vytváranie úloh ako mechanizmus perzistencie: konfiguráciu programu alebo skriptu tak, aby sa spúšťal pravidelne alebo pri spustení systému, aj keď sa nikto neprihlási. Toto je užitočné pre legitímnych správcov, ale používajú to aj útočníci, takže je dôležité to dobre pochopiť z pohľadu... Cybersecurity.
Naplánovaná úloha v systéme Windows je jednoducho príkaz To umožňuje systému spustiť príkaz, skript alebo spustiteľný súbor v určitom čase alebo s určitou frekvenciou. Ak je táto úloha definovaná s účtom SYSTEM a veľmi krátkou frekvenciou, môžete binárny súbor spúšťať nepretržite, aj keď ho niekto zatvorí.
Príklad perzistencie (SYSTEM každých N minút): schtasks /create /ru "SYSTEM" /sc minute /mo <minutos> /tn "<nombre>" /tr "<comando>"
Rozpis predchádzajúcej objednávky:
- /ru «SYSTÉM»: vykoná úlohu s účtom SYSTEM, teda s veľmi vysokými oprávneniami.
- /sc minúta: typ programovania v minútach.
- /mesiacinterval opakovania, napríklad 10 za každých desať minút.
- /tn « »: identifikačný názov úlohy, ktorý sa dá maskovať ako niečo nevinné, ak si niekto chce udržať povšimnutie.
- /tr « »: program alebo skript, ktorý sa má spustiť (úplná cesta s argumentmi).
Existujú príklady, kde sú schtasks kombinované s nástrojmi ako plink.exe nadviazať spätné pripojenia, tunely portov a podobne, nakonfigurované na pravidelné opätovné spustenie. Z obranného hľadiska pravidelne kontrolovať naplánované úlohy s schtasks /query /fo LIST /v a prehliadač udalostí je povinný na detekciu tohto typu použitia.
Z AT do schtasks: prečo by ste už nemali používať AT
Systém Windows roky obsahoval príkaz AT. naplánovať úlohy. V moderných verziách je tento príkaz oficiálne zastaraný a samotná konzola vám to oznámi, keď sa ho pokúsite použiť: „Príkaz AT je zastaraný. Namiesto neho použite schtasks.exe.“
AT povoľuje programovanie jednoduchých príkazov zadaním iba času, dátumu a príkazu, ktorý sa má vykonať. Napríklad, ak chcete každú polnoc kopírovať dokumenty na iný disk:
Klasický príklad AT: at 00:00 cmd /c copy C:\Documents\*.* J:\MyDocs
Môžete tiež zobraziť a odstrániť úlohy AT s variáciami toho istého príkazu (podľa ID, na vzdialených počítačoch atď.). Nepribližovalo sa to však flexibilite, granularite oprávnení alebo pokročilým možnostiam, ktoré ponúka schtasks.
V systéme Windows 10 a novších verziách AT stále existuje. Funguje iba ako obal kompatibility, ale vracia správy, že požiadavka nie je podporovaná. Ak pracujete so staršími verziami systému Windows, kde stále funguje, odporúča sa migrovať automatizácie do Schtasks, čo je podporovaný a oveľa výkonnejší nástroj.
Schtasks verzus grafické rozhranie Plánovača úloh
Všetko, čo robí schtasks, sa dá urobiť aj z Grafická konzola Plánovača úloh (otvorí sa) taskschd.msc z príkazu Spustiť), ale použitie príkazového riadka má jasné výhody: môžete automatizovať nasadenie, generovať opakovane použiteľné skripty, hromadne aplikovať zmeny alebo pracovať so vzdialenými tímami bez toho, aby ste im museli prisluhovať.
Veľmi praktický prístup v zmiešanom prostredí Ide o kombináciu oboch svetov: vytvoríte základnú úlohu z grafického rozhrania, aby ste pochopili všetky nastavenia, exportujete ju do XML a potom použijete schtasks s parametrom /xml nasadiť kópie úpravou iba toho, čo je potrebné (používateľ, dátumy atď.).
Schtasks môžete integrovať aj do skriptov .bat alebo .ps1. spolu s ďalšími údržbárskymi úlohami: čistenie Záznamy, reštartovanie služieb, spustenie záloh alebo upozornení, to všetko spustené jednou naplánovanou úlohou, ktorá volá hlavný skript.
Ak spravujete veľa počítačov alebo používateľov, majstrovské školské úlohy a programy na automatizáciu úloh Ušetrí vám to skoré vstávanie kvôli manuálnemu zálohovaniu, zabráni vám zabúdať na veci a zníži riziko ľudskej chyby neustálym opakovaním tých istých akcií manuálne. Doslova to učí systém robiť za vás to, čo vám každý deň kradne čas.
Dôkladné pochopenie schtasks, jeho programovacích parametrov a interakcie medzi /u, /ru, lokálnymi a vzdialenými oprávneniami Umožňuje vám presne, bezpečne a reprodukovateľne automatizovať takmer akúkoľvek rutinu v systéme Windows a nechať počítač robiť to, čo vie najlepšie: presne dodržiavať pokyny 24 hodín denne.
Vášnivý spisovateľ o svete bajtov a technológií všeobecne. Milujem zdieľanie svojich vedomostí prostredníctvom písania, a to je to, čo urobím v tomto blogu, ukážem vám všetko najzaujímavejšie o gadgetoch, softvéri, hardvéri, technologických trendoch a ďalších. Mojím cieľom je pomôcť vám orientovať sa v digitálnom svete jednoduchým a zábavným spôsobom.