Управління призначеними завданнями засобами командного рядка
З якоїсь причини вже давно у багатьох користувачів з'явилася така думка, що в операційних системах Windows існують сама «не потрібно» і «марна» служба і системна утиліта «Планувальник завдань». Планувальник завдань версії 1.0 (був присутній в операційній системі Windows XP і більш ранніх версіях) в основному надавався тільки для потреб кінцевого користувача. В сучасних операційних системах, таких як Windows Vista і Windows 7, функціонал планувальника завдань значно удосконалився. Планувальник завдання є найважливішим засобом операційної системи, призначеним для автоматизації рутинних операцій обслуговування. Тепер планувальник завдань підтримує модель безпечної ізоляції, за допомогою якої кожен набір завдань, які працюють в конкретному контексті безпеки, запускається в окремих сесіях. Завдання, які виконуються від імені різних користувачів, запускаються в окремих сесіях - в повній ізоляції один від одного. Крім запуску програм і сценаріїв, ви можете скласти розклад для запуску будь-якого засобу, який можна запустити засобами командного рядка, включаючи утиліти командного рядка, сценарії, програми, файли і ярлики, а також всілякі аргументи командного рядка. За допомогою тригерів, ви можете відправляти повідомлення електронної пошти при успішному запуску завдання. За допомогою додатка «Планувальник завдань» версії 2.0, ви можете навіть прив'язати будь-яке завдання до події, що дозволить вам ефективно вирішувати більшість проблем, які можуть трапитися з вашою операційною системою.
Засоби управління завданнями
Як говорилося вище, «Планувальник завдань» підтримує модель ізоляції, що дозволяє кожному набору завдань, які працюють в конкретному контексті безпеки запускатися в окремій сесії. Механізм планувальника завдань запускає перехідні процеси для виконання процесів облікових записів користувача або комп'ютера для запуску тригера. Тригер - це набір умов, при виконанні яких запускається завдання. Тригери, засновані на часі, запускають завдання одноразово в певний час доби або щодня, щотижня або щомісяця. Тригери, засновані на подіях, запускають завдання при виникненні певних системних подій. Завдання можуть бути запущені від таких облікових записів комп'ютера, як LocalSystem, LocalService або NetworkService.
Завдання можуть бути запущені як локально, так і віддалено. Кожне завдання може містити кілька одночасно виконуваних дій. Кілька завдань можуть виконуватися як паралельно, так і послідовно (одна за одною), використовуючи синхронізацію з вказаною службою або подією. Кожна дія планувальника завдань записується в журнали «Система» і «Журнали додатків і служб # 92; Microsoft # 92; Windows # 92; TaskScheduler». Для роботи, «Планувальник завдань» використовує кілька компонентів, які призначені для надання користувальницького інтерфейсу, механізму виконання завдань, відстеження та управління подіями, а саме:
- Оснащення консолі управління Microsoft «taskschd.msc». яка включає майстер для створення і налаштування завдань і сторінки властивостей, які звертаються до служби планувальника завдань через COM API;
- Бібліотека служби планувальника завдань SchedSvc.dll. виконувана всередині процесу Svchost.exe, від імені облікового запису LocalSystem, яка використовує компоненти TaskSchd.dll для взаємодії з менеджером ресурсів і компонентом Service for User, призначеним для отримання доступу до облікового запису. Ця служба також зчитує інформацію про конфігурацію з системного реєстру і записує завдання на диск у форматі XML;
- Механізм перехідного процесу управління TaskEng.exe. який дозволяє виконувати завдання від імені облікового запису користувача і створювати призначені для користувача процеси, які виконують зазначені завдання;
- Бібліотека TaskComp.dll. яка забезпечує зворотну сумісність для управління і виконання завдань, які були створені в попередніх версіях Windows.
Спрощену схему архітектури планувальника завдань версії 2.0 ви можете побачити на наступній ілюстрації:
Мал. 1. Спрощена схема архітектури планувальника завдань
Операційна система Windows надає кілька засобів, призначених для планування завдань на локальних і віддалених комп'ютерах, а саме:
Оснащення «Планувальник завдань». Оснащення консолі управління Microsoft «Планувальник завдань» дозволяє запускати програми, команди і сценарії на підставі розкладу, а також призначати автоматично виконуються завдання, запуск яких проводиться в певний час або при виникненні певних подій засобами зручного для користувача інтерфейсу. Дана оснащення містить бібліотеку всіх призначених завдань, що дозволяє вам швидко знаходити потрібні завдання.
Запустити планувальник завдань ви можете будь-яким з наступних способів:
Оснащення «Планувальник завдань» зображена на наступній ілюстрації:
Мал. 2. Оснащення «Планувальник завдань»
Утиліта командного рядка Schtasks. Утиліта, яка дозволяє створювати і запускати завдання для програм, команд і сценаріїв на підставі розкладу. За допомогою цієї утиліти ви можете створювати як прості, так і складні завдання, причому вони можуть бути призначені на одноразовий щохвилинний запуск, а також на запуск через вказаний інтервал, при завантаженні системи, при вході в систему, запуск служби або виконання вказаної події та інше . Використання цієї утиліти розглядається в наступному розділі.
Можливості утиліти Schtasks.exe
Утиліта командного рядка SchTasks.exe дозволяє виконувати ті ж самі операції, що й оснащення «Планувальник завдань». Ці обидва засоби управління призначеними завданнями взаємозамінні, що дозволяє бачити в оснащенні «Планувальник завдань» всі завдання, створені за допомогою утиліти командного рядка SchTasks.exe і навпаки. Для того щоб скористатися даною функціоналом, вам потрібно відкрити командний рядок, ввести команду Schtasks і вказати підкоманди з відповідними значеннями.
Дана утиліта включає в себе кілька підкоманду, що дозволяє гнучко управляти призначеними завданнями, а саме:
- Schtasks / Query
- Schtasks / Create
- Schtasks / Change
- Schtasks / Run
- Schtasks / End
- Schtasks / Delete
У наступному розділі ви познайомитеся з поднабором команд, призначеним для відображення призначених завдань на локальному або віддаленому комп'ютері.
Відображення призначених завдань. Команда Schtasks / Query
Доступні наступні параметри:
Приклад 1. В даному прикладі призначені завдання будуть виведені для локального комп'ютера у вигляді списку з детальною інформацією про кожному значенні:
Мал. 3. Використання команди Schtasks / query з висновком даних в форматі списку
Приклад 2. У цьому прикладі буде виведена в табличному форматі без найменувань стовпців завдання, при виконанні якої створюються звичайні точки відновлення системи:
Мал. 4. Висновок певного завдання
висновок
Планувальник завдань - це найважливіше системне засіб, що дозволяє призначати автоматично виконуються завдання, запуск яких проводиться в певний час або при виникненні певних подій. З цієї статті ви дізналися про архітектуру планувальника завдань і про засоби, які призначені для планування завдань на локальних і віддалених комп'ютерах. Був детально розглянуто поднабор команд утиліти командного рядка Schtasks.exe, призначений для відображення призначених завдань на локальному або віддаленому комп'ютері. У наступній статті я розповім про способи створення різних завдань за допомогою командного рядка.