Kompletny przewodnik po planowaniu zadań w systemie Windows za pomocą programu Schtasks

Ostatnia aktualizacja: 17/12/2025
Autor: Isaac
  • Schtasks jest interfejsem liniowym polecenia z Harmonogramu zadań i umożliwia tworzenie, modyfikowanie, uruchamianie i usuwanie zadań zarówno lokalnie, jak i zdalnie.
  • Kluczowe parametry, takie jak /sc, /tn, /tr, /ru, /mo, /st lub /d, definiują, co jest uruchamiane, z jakimi uprawnieniami, z jaką częstotliwością lub przy jakim warunku wyzwalającym.
  • Zarządzanie uprawnieniami i kontami (Administrator, SYSTEM, użytkownicy zdalni z /uy /p) jest niezbędne do prawidłowego tworzenia i wykonywania zadań.
  • Schtasks zastępuje stare polecenie AT i oferuje solidną platformę do automatyzacji konserwacji, skryptów i procesów cyklicznych Windows.

harmonogramowanie zadań za pomocą schtasks

Zaplanuj zadania w systemie Windows za pomocą schtasks To jedna z tych rzeczy, które, gdy już się ją opanuje, sprawiają, że zastanawiasz się, po co od lat wykonujesz te same powtarzalne zadania ręcznie. Kopie zapasowe o nietypowych porach, skrypty uruchamiane każdego ranka, usługi, które trzeba restartować po awarii… wszystko to można zautomatyzować za pomocą prostego polecenia.

Polecenie schtasks jest interfejs wiersza poleceń Harmonogram zadań systemu Windows umożliwia tworzenie, modyfikowanie, tworzenie list, uruchamianie i usuwanie zadań zarówno na własnym komputerze, jak i na komputerach zdalnych w sieci. Przyjrzyjmy się temu bliżej, z przejrzystymi przykładami i objaśnieniami każdego kluczowego parametru, aby pomóc Ci w pełni wykorzystać jego możliwości, od prostych automatyzacji po zaawansowane scenariusze obejmujące użytkowników, uprawnienia i komputery zdalne.

Czym jest schtasks i jakie korzyści może Ci przynieść?

przykłady schtasks w systemie Windows

Schtasks.exe to narzędzie konsoli którego system Windows używa do komunikacji z Harmonogramem zadań. Dzięki niemu możesz zdefiniować, że program, scenariusz Polecenie zostanie wykonane automatycznie w określonym dniu i godzinie lub według określonego harmonogramu, bez konieczności ingerencji w interfejs graficzny.

Za pomocą schtasks możesz zaplanować powtarzające się zadania (co X minut, godzin, dni, tygodni lub miesięcy) – zadania uruchamiane podczas startu systemu, logowania się konkretnego użytkownika, bezczynności komputera, a nawet w odpowiedzi na zdarzenia systemowe. Dodatkowo zadania można uruchamiać na różnych kontach użytkowników (w tym na koncie SYSTEM) oraz na komputerach zdalnych.

Podstawowe operacje schtasks Dzielą się na sześć głównych podpoleceń, z których będziesz korzystać w 99% przypadków:

  • zmiana schtasks: modyfikuje właściwości istniejącego zadania (program do uruchomienia, użytkownik, hasło, tryb interaktywny…).
  • schtasks tworzy: tworzy nowe zaplanowane zadanie.
  • usuwanie schtasks: usuwa zadanie z harmonogramu.
  • koniec schtasks: zatrzymuje program, który uruchamia zadanie.
  • zapytanie schtasks: wyświetla zaplanowane zadania zespołu.
  • uruchomienie schtasks: wymusza natychmiastowe wykonanie zadania, które już zostało utworzone.

Za tymi operacjami kryje się wiele parametrów Aby zdefiniować częstotliwość, datę rozpoczęcia i zakończenia, użytkownika, dla którego wykonywane jest zadanie, zespół zdalny, opóźnienia, czas trwania, poziomy uprawnień itp., przygotowaliśmy dla Ciebie szczegółowy opis poniżej.

Wymagane uprawnienia do pracy z programem Schtasks

uprawnienia dla schtasks

Zanim zaczniesz tworzyć zadania jak szalonyWażne jest, aby mieć jasność co do tego, jakie uprawnienia są potrzebne, w przeciwnym razie zadania zostaną utworzone, ale nie zostaną wykonane, albo zakończą się niepowodzeniem.

W zespole lokalnym, do zarządzania wszystkimi zadaniami Aby przeglądać, tworzyć, modyfikować i usuwać zadania, musisz być administratorem. W niektórych przypadkach użytkownik standardowy może tworzyć własne zadania, ale jeśli chcesz mieć pełną kontrolę nad systemem, zrób to z konta z uprawnieniami administratora.

W zespołach pracujących zdalnie sytuacja wygląda podobnie.Konto, którego używasz, musi być kontem administratora na komputerze zdalnym. Możesz uruchomić polecenie ze swojego komputera, używając parametru. /s wskazać zespół docelowy i /u y /p aby podać dane uwierzytelniające administratora dla tego komputera lub domeny.

Parametr /u działa poprawnie tylko Dzieje się tak, gdy komputer lokalny i zdalny znajdują się w tej samej domenie lub w domenach ze skonfigurowanym zaufaniem. Jeśli nie ma relacji zaufania, komputer zdalny nie może uwierzytelnić podanego konta, a zadanie będzie błędnie skonfigurowane lub puste, mimo że wygląda na utworzone.

Ponadto samo zadanie musi mieć odpowiednie uprawnienia aby wykonać to, o co prosisz. Domyślnie zadania są uruchamiane przez bieżącego użytkownika lub tego, którego określisz /uJeśli chcesz, aby zostały uruchomione z innego konta lub bezpośrednio z uprawnieniami systemowymi, musisz użyć parametru / ru (Uruchom jako użytkownik) i normalnie, /rp aby wprowadzić hasło.

Ogólna składnia zadań schtasks i kluczowe parametry

Składnia programu schtasks jest dość rozbudowanaJednak zawsze przebiega według tego samego schematu: podpolecenie, po którym następują parametry definiujące, co, kiedy, gdzie i z jakimi uprawnieniami zadanie ma zostać wykonane. Ogólny format tworzenia zadań wygląda następująco:

  Ochrona zasobów systemu Windows nie mogła rozpocząć naprawy.

schtasks /create /sc <tipo_programación> /tn <nombre_tarea> /tr <comando_o_programa>

Podstawowe parametry przy tworzeniu zadania Są one następujące:

  • /sc: rodzaj programowanieWartości typowe:
    • MINUTE: co N minut.
    • COGODZINNY: co N godzin.
    • DAILY: co N dni.
    • CO TYDZIEŃ: co N tygodni.
    • MIESIĘCZNIE:co N miesięcy.
    • PEWNEGO RAZU:pojedyncza egzekucja.
    • WŁĄCZENIE:w każdym boot systemu.
    • ZALOGUJ SIĘ: gdy użytkownik się loguje.
    • OSIK: gdy system był nieaktywny przez X minut.
    • JEDNO WYDARZENIE:w odpowiedzi na określone zdarzenie w dzienniku.
  • /tn: Unikalna nazwa zadania. Może zawierać ścieżkę do folderu (na przykład, "MiCarpeta\BackupDB"). Maksymalnie 238 znaków.
  • /tr: Pełna ścieżka do pliku wykonywalnego, skryptu lub pliku .bat, który ma zostać uruchomiony. Jeśli nie podasz ścieżki, zostanie ona przyjęta. %SystemRoot%\System32Maksymalna długość 262 znaków.
  • /S: komputer zdalny (nazwa lub adres IP). Jeśli go nie używasz, działasz na komputerze lokalnym.
  • /Lub: dane uwierzytelniające, z którymi wykonywane jest samo polecenie schtasks (w przypadku programowania zdalnego).
  • /P: hasło użytkownika wskazanego w /uJeśli nie podasz tych danych, konsola o nie poprosi.
  • /ru { | system}Konto, na którym zadanie zostanie wykonane. Możesz użyć użytkownika domeny, użytkownika lokalnego lub konta Konfiguracja.
  • /rp: hasło do konta wskazanego w / ruNie jest używany z /ru Systemponieważ konto SYSTEM nie posiada hasła.
  • /miesiąc:modyfikator częstotliwości w ramach typu programowania (ile minut, godzin, dni, tygodni lub miesięcy).
  • /D: konkretny dzień lub dni dla TYGODNIA lub pewne tryby MIESIĘCZNE (na przykład, /d MON,FRI).
  • /M:konkretne miesiące (STY-GRU lub * dla wszystkich).
  • /st: czas rozpoczęcia w formacie 24-godzinnym (HH:MM).
  • /et o /du:czas zakończenia lub maksymalny czas trwania harmonogramów w minutach/godzinach.
  • /sd y /ed: data rozpoczęcia i zakończenia zgodnie z ustawieniami regionalnymi systemu.
  • /Przedmiot: uruchamia zadanie tylko wtedy, gdy użytkownik wykonujący zadanie jest zalogowany interaktywnie.
  • /np: nie zapisuje hasła; zadanie działa w trybie nieinteraktywnym i tylko z zasobami lokalnymi.
  • /z: automatycznie usuwa zadanie po zakończeniu harmonogramu.
  • /rl:poziom uprawnień (OGRANICZONY lub NAJWYŻSZY).
  • /f: wymusza tworzenie lub modyfikację, nadpisywanie bez pytania o potwierdzenie.

Istnieją bardziej zaawansowane parametry (XML, wsteczna kompatybilność, opóźnienia z /opóźnienie(kody HRESULT itp.), ale przy pomocy powyższych wskazówek można obsłużyć praktycznie każdy standardowy scenariusz.

Zaplanuj zadania z różną częstotliwością

Jedną z mocnych stron schtasks Chodzi o elastyczność w definiowaniu częstotliwości. Możesz dostosować częstotliwość od wykonywania zleceń co kilka minut do publikacji w ostatnim dniu określonych miesięcy lub w drugą niedzielę każdego kwartału.

Do harmonogramów minutowych, jest używany /sc minuta. Modyfikator / mo Wskazuje, jak często zadanie jest uruchamiane w minutach. Jeśli nie podasz tej wartości, wartością domyślną będzie 1 minuta.

Przykładowy interwał 20 minut: schtasks /create /sc minute /mo 20 /tn "Security Script" /tr \\central\data\scripts\sec.vbs

Przykład z przedziałem czasowym: schtasks /create /tn "Security Script" /tr sec.vbs /sc minute /mo 100 /st 17:00 /et 08:00 /k

Do planowania jest używany /sc co godzinęi znowu / mo Wskazuje częstotliwość. Na przykład, aby aplikacja MyApp była uruchamiana co 5 godzin od 1 marca:

Przykładowy harmonogram na 5 godzin: schtasks /create /sc hourly /mo 5 /sd 03/01/2002 /tn MyApp /tr c:\apps\myapp.exe

W codziennych harmonogramach (/sc codziennie) możesz użyć / mo Aby rozłożyć w czasie wykonania. Na przykład, uruchom MyApp co 12 dni, zaczynając od określonej daty:

Przykład dziennych odstępów: schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc daily /mo 12 /sd 12/31/2002 /st 13:00

Tygodniowy harmonogram jest zdefiniowany za pomocą /sc co tydzień, łącząc / mo (odstęp tygodni) i /d (Dni tygodnia: PON, WT, ŚR, CZW, PT, SOB, ND lub *). Na przykład, aby uruchomić aplikację MyApp co drugi piątek:

Przykład tygodniowy (co 2 tygodnie): schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc weekly /mo 2 /d FRI

Dostępnych jest kilka opcji harmonogramów miesięcznych:

  • Do określonego dnia miesiąca (1-31) z /sc miesięcznie y /d.
  • Na tydzień i na dzień (PIERWSZY, DRUGI, TRZECI, CZWARTY + /dzień) i opcjonalnie /m z miesiącami.
  • Ostatni dzień miesiąca z /mo OSTATNI DZIEŃ y /m dla konkretnych miesięcy lub * dla wszystkich.

Przykład miesięczny (ostatni dzień konkretnego miesiąca): schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc monthly /mo LASTDAY /m FEB,MAR /st 18:00

Specjalne wyzwalacze: jednorazowe, uruchamiania, logowania i bezczynności

Nie chcesz, aby zadanie zawsze się powtarzało.Czasami trzeba coś uruchomić tylko raz, w określonym dniu i godzinie. Właśnie do tego służy poniższy typ. /sc razktóry wymaga /st i normalnie, /sd:

  Jak wpisywać znaki specjalne za pomocą klawisza Alt w systemie Windows

Przykład pojedynczego wykonania: schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc once /sd 01/01/2003 /st 00:00

Typ ONSTART (/sc onstartDzięki temu zadanie będzie uruchamiane przy każdym uruchomieniu systemu, co jest idealnym rozwiązaniem w przypadku skryptów konserwacyjnych, monitorowania lub usług niestandardowych:

Przykład OnStart: schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc onstart

ZALOGUJ SIĘ (/sc onlogonTo zadanie jest wykonywane po zalogowaniu użytkownika. Można go używać do uruchamiania skryptów środowiskowych, montowania dysków sieciowych, uruchamiania aplikacji wewnętrznych i wielu innych czynności. Na przykład na komputerze zdalnym:

Przykład zdalnego OnLogon: schtasks /create /tn "Start Web Site" /tr c:\myiis\webstart.bat /sc onlogon /s Server23

OSIK (/sc onidle) uruchamia zadanie, gdy komputer jest nieaktywny przez określony czas, który definiujesz za pomocą /i w minutach. Na przykład, aby uruchomić aplikację MyApp, gdy urządzenie było nieaktywne przez 10 minut:

Przykład OnIdle 10 min: schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc onidle /i 10

Twórz zadania z określonymi uprawnieniami: alternatywny użytkownik i SYSTEM

Bardzo skutecznym zastosowaniem schtasks jest uruchamianie zadań z różnych kont tego, którego aktualnie używasz. Możesz na przykład zaplanować konserwację na koncie administratora, nawet jeśli jesteś zalogowany na koncie z ograniczonymi uprawnieniami, lub uruchamiać procesy na koncie SYSTEM, aby uzyskać podwyższone uprawnienia.

Aby uruchomić zadanie z innego konta użytkownika parametr jest używany / ru wraz z hasłem w /rpNa przykład uruchamiając aplikację MyApp co tydzień we wtorki jako Admin06 na komputerze lokalnym:

Przykładowa alternatywa dla /ru: schtasks /create /tn MyApp /tr myapp.exe /sc weekly /d TUE /ru Admin06

W systemach zdalnych /uy i /p kontrolują, kto planuje zadaniePodczas / ru Zdefiniuj, z którego konta zostanie wykonane. Są to odrębne pojęcia, których nie należy mieszać:

  • /u: dane uwierzytelniające umożliwiające uruchomienie polecenia schtasks i utworzenie zadania zdalnie.
  • / ru: konto, z którego zadanie zostanie wykonane, gdy nadejdzie odpowiedni czas.

Przykład zdalny z różnymi kontami: schtasks /create /tn MyApp /tr myapp.exe /sc daily /mo 4 /s Marketing /u Marketing\Admin01 /ru Reskits\User01

Jeśli chcesz używać konta SYSTEMkto ma bardzo wysokie uprawnienia, wystarczy określić /ru System Bez hasła. Na przykład, aby uruchomić MyApp 15. dnia każdego miesiąca jako SYSTEM:

Przykład jako SYSTEM: schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc monthly /d 15 /ru System

Pamiętaj, że procesy uruchamiane jako SYSTEM Nie są interaktywne: użytkownik nie widzi okien ani nie może z nimi wchodzić w interakcję. Idealnie nadają się do obsługi usług, skryptów konserwacyjnych lub zadań systemowych, ale nie do otwierania aplikacji widocznych dla użytkownika.

Zarządzaj istniejącymi zadaniami: zmieniaj, uruchamiaj, twórz listy i zatrzymuj

Po utworzeniu zadań schtasks Oferuje kilka podpoleceń umożliwiających zarządzanie nimi bez konieczności otwierania graficznej konsoli Harmonogramu zadań.

Aby zmienić właściwości używane jest istniejące zadanie schtasks /zmianaMożesz zmodyfikować uruchamiany program, użytkownika, na którym jest uruchamiany, hasło lub ustawić uruchamianie tylko w sesjach interaktywnych:

  • /tr:nowy plik wykonywalny lub skrypt.
  • / ru:nowe konto wykonawcze (użytkownik lub SYSTEM).
  • /rp: hasło do konta w /ru.
  • /Przedmiot: oznacza zadanie jako „tylko gdy użytkownik jest zalogowany”.

Przykładowa zmiana skryptu: schtasks /change /tn "OpenWebinarsSchedule" /tr C:\Users\OpenWebinars\Documents\Release\nuevo_script.bat

Jeśli chcesz uruchomić zadanie terazignorując jego programowanie, używasz schtasks /uruchomWykonanie tej czynności nie zmienia następnej zaplanowanej daty:

Uciekaj natychmiast: schtasks /run /tn "OpenWebinarsSchedule"

Aby wymienić zadania zespołu jest używany schtasks /zapytanieMożna uzyskać prostą listę, tabelę lub szczegółowy format listy:

  • schtasks /query → lista podstawowa.
  • schtasks /query /fo LIST /v → szczegółowa lista, bardzo przydatna przy rozwiązywaniu problemów.

Jeśli zadanie uruchamia program, który chcesz zatrzymać, ty masz schtasks /koniecPotrzebna jest tylko nazwa zadania:

Wymuś zatrzymanie zadania: schtasks /end /tn "OpenWebinarsSchedule"

A kiedy już nie potrzebujesz zadaniaWyeliminujesz to za pomocą schtasks /usuńMożesz usunąć konkretne zadanie lub wszystkie (ostrożnie):

  • schtasks /delete /tn OpenWebinarsSchedule /f → Usuń to zadanie bez pytania o potwierdzenie.
  • schtasks /delete /tn * /f → Usuwa wszystkie zaplanowane zadania systemowe.

Wytrwałość w realizacji zaplanowanych zadań (wizja techniczna i bezpieczeństwa)

Zaawansowane i delikatne wykorzystanie schtasks Polega ona na tworzeniu zadań jako mechanizmu trwałości: konfigurowaniu programu lub skryptu do uruchamiania okresowego lub przy starcie systemu, nawet jeśli nikt się nie zaloguje. Jest to przydatne dla prawowitych administratorów, ale atakujący również z tego korzystają, dlatego ważne jest, aby dobrze to zrozumieć z perspektywy... cyberbezpieczeństwo.

  Jak przekonwertować plik DMG do ISO w systemach Windows, Linux i macOS

Zaplanowane zadanie w systemie Windows to po prostu polecenie Umożliwia to systemowi uruchomienie polecenia, skryptu lub pliku wykonywalnego o określonej porze lub z określoną częstotliwością. Jeśli to zadanie jest zdefiniowane na koncie SYSTEM i ma bardzo krótką częstotliwość, można sprawić, że plik binarny będzie uruchamiany nieprzerwanie, nawet jeśli ktoś go zamknie.

Przykład trwałości (SYSTEM co N minut): schtasks /create /ru "SYSTEM" /sc minute /mo <minutos> /tn "<nombre>" /tr "<comando>"

Podział poprzedniego zamówienia:

  1. /ru «SYSTEM»: wykonuje zadanie przy użyciu konta SYSTEM, czyli z bardzo wysokimi uprawnieniami.
  2. /sc minuta: rodzaj programowania w minutach.
  3. /miesiąc:interwał powtarzania, na przykład 10 na każde dziesięć minut.
  4. /tn « »:nazwa identyfikująca zadanie, która może być zamaskowana jako coś niewinnego, jeśli ktoś chce pozostać niezauważony.
  5. /tr « »: program lub skrypt do wykonania (pełna ścieżka z argumentami).

Istnieją przykłady, w których zadania schtasks są łączone z narzędziami takimi jak plink.exe Aby nawiązać połączenia zwrotne, tunele portów i tym podobne, skonfigurowane do okresowego ponownego uruchamiania. Z punktu widzenia obrony, okresowo przeglądaj zaplanowane zadania za pomocą schtasks /query /fo LISTA /v Podgląd zdarzeń jest obowiązkowy, aby wykryć ten typ użycia.

Od AT do Schtasks: dlaczego nie powinieneś już używać AT

Przez lata system Windows zawierał polecenie AT. do planowania zadań. W nowoczesnych wersjach to polecenie jest oficjalnie przestarzałe, a sama konsola informuje o tym podczas próby jego użycia: „Polecenie AT jest przestarzałe. Zamiast tego użyj schtasks.exe”.

AT umożliwia programowanie prostych poleceń określając jedynie godzinę, datę i polecenie do wykonania. Na przykład, aby kopiować dokumenty na inny dysk co północ:

Klasyczny przykład AT: at 00:00 cmd /c copy C:\Documents\*.* J:\MyDocs

Można również wyświetlić listę zadań AT i je usunąć z wariantami tego samego polecenia (według identyfikatora, na komputerach zdalnych itd.). Jednak nie dorównywało ono elastyczności, szczegółowości uprawnień ani zaawansowanym opcjom oferowanym przez schtasks.

W systemie Windows 10 i nowszych AT nadal istnieje Działa jedynie jako wrapper zgodności, ale zwraca komunikaty, że żądanie nie jest obsługiwane. Jeśli pracujesz ze starszymi wersjami systemu Windows, w których nadal działa, zaleca się migrację automatyzacji do Schtasks, który jest obsługiwanym i znacznie bardziej wydajnym narzędziem.

Schtasks kontra graficzny interfejs Harmonogramu zadań

Wszystko co robi schtasks, można również zrobić z Konsola graficzna Harmonogramu zadań (otwiera) taskschd.msc z Run), ale korzystanie z wiersza poleceń ma wyraźne zalety: można automatyzować wdrożenia, generować skrypty wielokrotnego użytku, stosować zmiany zbiorczo lub współpracować ze zdalnymi zespołami bez konieczności bezpośredniej współpracy z nimi.

Bardzo praktyczne podejście w środowiskach mieszanych Chodzi o połączenie obu światów: tworzysz zadanie bazowe z poziomu graficznego interfejsu, aby zrozumieć wszystkie ustawienia, eksportujesz je do XML, a następnie używasz schtasks z parametrem /xml wdrażanie kopii poprzez dostosowywanie tylko tego, co jest konieczne (użytkownik, daty itp.).

Możesz również zintegrować schtasks ze skryptami .bat lub .ps1 wraz z innymi zadaniami konserwacyjnymi: czyszczeniem dzienniki, ponowne uruchamianie usług, uruchamianie kopii zapasowych lub powiadomień, wszystkie wyzwalane przez pojedyncze zadanie zaplanowane, które wywołuje skrypt główny.

Jeśli zarządzasz wieloma maszynami lub użytkownikami, zadania główne i programy do automatyzacji zadań Uchroni Cię to przed koniecznością wstawania wcześnie rano, aby ręcznie tworzyć kopie zapasowe, zapobiegnie zapomnieniu o czymś i zmniejszy ryzyko błędu ludzkiego wynikającego z ciągłego ręcznego powtarzania tych samych czynności. To dosłownie uczy system, jak robić za Ciebie to, co każdego dnia zabiera Ci czas.

Dogłębne zrozumienie programu schtasks, jego parametrów programowania oraz współdziałania między uprawnieniami /u, /ru, lokalnymi i zdalnymi Umożliwia ona dokładne, bezpieczne i powtarzalne zautomatyzowanie niemal każdej czynności w systemie Windows, dzięki czemu komputer może robić to, co potrafi najlepiej: wykonywać instrukcje co do joty 24 godziny na dobę, 7 dni w tygodniu.

Planuj i zarządzaj zaplanowanymi zadaniami za pomocą Schtaks
Podobne artykuł:
Jak planować i zarządzać zadaniami automatycznymi za pomocą programu Schtasks w systemie Windows