Управление назначенными заданиями средствами командной строки. Часть 2

Введение

*«Планировщик заданий». Планировщик заданий версии 1.0 (присутствовал в операционной системе Windows XP и более ранних версиях) в основном предоставлялся только для нужд конечного пользователя. В современных операционных системах, таких как Windows Vista и Windows 7, функционал планировщика заданий значительно усовершенствовался. Планировщик задания является самым важным средством операционной системы, предназначенным для автоматизации рутинных операций обслуживания. Теперь планировщик заданий поддерживает модель безопасной изоляции, при помощи которой каждый набор задач, работающих в конкретном контексте безопасности, запускается в отдельных сессиях. Задачи, которые выполняются от имени разных пользователей, запускаются в отдельных сессиях – в полной изоляции друг от друга. Помимо запуска программ и сценариев, вы можете составить расписание для запуска любого средства, которое можно запустить средствами командной строки, включая утилиты командной строки, сценарии, приложения, файлы и ярлыки, а также всевозможные аргументы командной строки. При помощи триггеров, вы можете отправлять сообщение электронной почты при успешном запуске задания. При помощи приложения «Планировщик заданий» версии 2.0, вы можете даже привязать любое задание к событию, что позволит вам эффективно разрешать большинство проблем, которые могут случиться с вашей операционной системой.

Общие настройки задания

Первым шагом при создании любого задания является назначение заданию имени и выбор компьютера, на котором будет выполняться данное задание. Также на первом шаге создания задания вы можете указать контекст, а также выбор учетной записи, для которой будет выполняться указанное задание.

*
Увеличить рисунок

Рис. 1. Вкладка «Общие» оснастки «Планировщик заданий»

Для указания идентичных параметров, команде /create используются следующие параметры:

/TN. Данный параметр является обязательным и отвечает за наименование задания. По умолчанию задания создаются в папке «Библиотека планировщика заданий». Для того чтобы создать задание в другой папке вам нужно ввести обратный слеш, имя папки, снова указать слеш, а затем ввести название задания, например, «MicrosoftWindowsDefrag».

В одной папке невозможно создать несколько заданий с одинаковыми именами, поэтому при попытке создания задания с именем, которое уже присутствует в указанной папке, утилита Schtasks выдаст предупреждение, предлагающее заменить существующее задание. Для того чтобы заменить существующее задание нажмите на клавишу «Y». В противном случае введите «N».

/S. Используя этот параметр команды, вы можете создать задание на удаленном компьютере. При создании задания на удаленном компьютере нужно обратить внимание на то, что ваш и удаленный компьютеры должны быть расположены в одной рабочей группе или в одном домене. После данного параметра вам нужно указать имя компьютера или его IP-адрес.

Отображение назначенных заданий. команда schtasks /query

Используя команду Schtasks /query, вы можете просмотреть список назначенных заданий на локальном или удаленном компьютере. Синтаксис команды очень простой и удобный:

SchTasks /Query [/S Компьютер /U /P] [Дополнительные параметры]

Доступны следующие параметры:

Примеры использования

В первом примере создадим задание, которое выполниться только один раз:

SchTasks /Create /TN “Последнее задание” /TR “shutdown –s –t 0” /SC ONCE /ST 23:59 /SD 21/12/2022

*
Увеличить рисунок

Рис. 4. Создание задания, которое запуститься только один раз в указанную дату и время

В следующем примере мы создадим создание, которое будет выполняться при загрузке операционной системы, например, очищаться кэш составителя dns:

Schtasks /Create /TN “Очищаем кэш DNS” /TR “ipconfig /flushdns” /SC ONSTART

*
Увеличить рисунок

Рис. 5. Создание задания, которое будет выполняться при загрузке системы

В этом примере будет создано задание, которое будет запускаться при входе пользователя в систему, например, будет проводиться дефрагментация всех томов:

Schtasks /Create /TN "MicrosoftWindowsDefragЗапуск дефрагментации" /TR "defrag /c" /SC ONLOGON

Рис. 6. Создание задания, которое будет выполняться при входе в систему каждого пользователя

Если ваша система будет находиться в простое на протяжении 45 минут, то у вас будет запускаться «Системный монитор». Сделать это вы можете следующим образом:

Schtasks /Create /TN "MicrosoftWindowsMaintenanceПростой 45 минут" /TR "%windir%system32perfmon.msc /s" /SC ONIDLE /I 45

*
Увеличить рисунок

:/>  Как пользоваться MemTest86 : подробная инструкция

Рис. 7. Создание задания при простое компьютера

И, напоследок, создадим задание, при помощи которого у вас раз в каждые три часа будет запускаться игра «Сапер» 🙂

Schtasks /Create /TN "GamesСапер" /TR "C:Program FilesMicrosoft GamesMinesweeperMinesweeper.exe" /SC HOURLY /MO 3

*
Увеличить рисунок

Рис. 8. Создание задания, которое будет запускаться каждые три часа

Примеры вы­полняемых заданий schtasks

Чтобы понять, как использовать Schtasks /Create, рассмот­рим несколько примеров.

Синтаксис для создания заданий schtasks

Вот основной синтаксис для определения типов заданий:

где ИмяЗадания — строка с названием задания, Исполняе­моеЗадание — путь к файлу утилиты командной строки или сценария, который надо запустить, Расписание — расписание запуска, а Модификатор — необязательный параметр, меня­ющий расписание запуска на основе типа расписания. Лю­бые задания, создаваемые по такому синтаксису, создаются на локальном компьютере и используют ваши разрешения.

Если вы не предоставили пароль своей учетной записи, он будет запрошен при создании задания. Также обратите внимание на следующее:

  • дни недели можно вводить списком, разделяя их запяты­ми, например Mon, Wed, Fri, или через дефис, указывая последовательность дней, скажем, Mon-Fri задает интервал с понедельника по пятницу;
  • месяцы можно вводить списком, разделяя их запятыми, на­пример Jan, Mar, Jun, или через дефис, указывая последо­вательность месяцев, например Jan-Jun указывает интервал с января по июнь;
  • для недели месяца можно задать только одно значение, на­пример FIRST или LAST.

Средства управления заданиями

Как говорилось выше, «Планировщик заданий» поддерживает модель изоляции, что позволяет каждому набору задач, работающих в конкретном контексте безопасности запускаться в отдельной сессии. Механизм планировщика задач запускает переходные процессы для выполнения процессов учетных записей пользователя или компьютера для запуска триггера.

Триггер – это набор условий, при выполнении которых запускается задание. Триггеры, основанные на времени, запускают задание однократно в определенное время суток либо ежедневно, еженедельно или ежемесячно. Триггеры, основанные на событиях, запускают задание при возникновении определенных системных событий. Задачи могут быть запущены от таких учетных записей компьютера, как LocalSystem, LocalService или NetworkService.

Задачи могут быть запущены как локально, так и удаленно. Каждая задача может содержать несколько одновременно выполняемых действий. Несколько задач могут выполняться как параллельно, так и последовательно(одна за другой), используя синхронизацию с указанной службой или событием.

Каждое действие планировщика заданий записывается в журналы «Система» и «Журналы приложений и службMicrosoftWindowsTaskScheduler». Для работы, «Планировщик заданий» использует несколько компонентов, которые предназначены для предоставления пользовательского интерфейса, механизма выполнения заданий, отслеживания и управления событиями, а именно:

Указание действия для назначенного задания

Все вышеперечисленные задания ничего не значат без указания основного параметра – исполняемой задачи. В оснастке «Планировщик заданий», исполняемую задачу вы можете указать на вкладке «Действия».

*
Увеличить рисунок

Рис. 3. Добавление исполняемой задачи для задания

За добавление исполняемой задачи в утилите командной строки SchTasks отвечает параметр /TR.

/TR. При помощи данного параметры вы должны указать путь и имя файла программы или скрипта, который будет выполняться с указанными требованиями. Если вам нужно указать аргументы для программы или скрипта, укажите их в пути к исполняемому файлу.

Все аргументы, которые содержат пробелы, должны быть заключены в кавычки для интерпретации как один аргумент программы. Каждое задание позволяет запускать только одну программу, но используя пакетные файлы, вы можете запускать столько приложений, сколько вам нужно.

Управление триггерами при помощи командной строки

Как при помощи графического интерфейса, а именно оснастки «Планировщик заданий», так и средствами командной строки, вы можете управлять всевозможными триггерами, которые предназначены для расписания выполняемого задания.

:/>  Не виден жесткий диск windows 10, что делать? - WINSTRICK.RU

*
Увеличить рисунок

Рис. 2. Диалоговое окно «Создание триггера» оснастки «Планировщик заданий»

При помощи командной строки вы можете указать следующие параметры со значениями, предназначенные для расписания выполняемого задания:

Параметры /SC и /MO. Это основные обязательные параметры, которые следует указывать при создании задания. Параметр /SC отвечает за само расписание задания. При помощи данного параметра вы можете указать частоту повторения задания.

Параметр /MO – это необязательный модификатор, при помощи которого выполняется контроль за периодичностью выполнения данного задания. В зависимости от значения параметра /SC задаются значения для параметра /MO.

  • ONCE. Это значение параметра /SC позволяет запустить задание только один раз в указанные параметрами /SD и /ST дату и время. При данном значении параметр /MO указывать не нужно;
  • ONSTART. Данное значение позволяет запускать задание при загрузке операционной системы. При указании данного значения, в параметре /MO нет необходимости;
  • ONLOGON. При указании этого значения для параметра /SC, задание выполняется при входе пользователя в систему. Так же, как и с предыдущими двумя значениями, параметр /MO не нужно указывать;
  • ONIDLE. Этот параметр отвечает за выполнение задания в том случае, если система находится в простое в течение заданного времени. Вместо параметра /MO вам нужно указать параметр I, описание которого вы найдете ниже;
  • ONEVENT. Данный параметр позволяет назначить задание, которое выполняется при регистрации компонентом Windows определенного события в заданном журнале. Данный параметр и событийно-управляемые задания будут рассматриваться в следующей статье;
  • MINUTE. Указав это значение для параметра /SC, вы можете назначить запуск задания через определенный интервал времени, указанный в минутах. По умолчанию, задание будет выполняться один раз в минуту, но вы можете изменить расписание, используя параметр /MO. Значением модификатора параметра /MO может быть число, которое находится в интервале от 1 до 1439;
  • HOURLY. Используя это значение, задание будет постоянно выполняться через указанный промежуток времени в часах. Так же, как и с предыдущим значением, по умолчанию задание будет выполняться один раз в час. Расписание данного задания вы можете изменить при помощи параметра /MO, модификатор которого может быть от 1 до 23;
  • DAILY. Это значение указывает на то, что задание будет выполняться с периодичностью, указанной в днях. Модификатор параметра /MO может быть указан в интервале от 1 до 365. По умолчанию задание будет выполняться ежедневно;
  • WEEKLY. Данным значением параметра /SC вы можете указать расписание запуска задания в разрезе недели календарного года, а также указав определенные дни недели. Значениями модификатора параметра /MO может быть число от 1 до 52. Для того чтобы указать дни недели, вам нужно воспользоваться параметром /D, который рассматривается ниже;
  • MONTHLY. Указав данное значение параметра /SC, назначенное задание будет запускаться каждый месяц или в каждый указанный день месяца. Вы можете указать параметр /MO со значением модификатора от 1 до 12 (в зависимости от месяца) и, указав день недели, используя параметр /D, определившись с датой запуска. Также вы можете комбинировать параметры /MO и /M для указания даты. Используя параметры /D /M LASTDAY, задание будет выполнено в последний день месяца. Также вы можете указать месяц, используя параметр /M, неделю месяца при помощи параметра /MO со значениями FIRST, SECOND, THIRD, FOURTH или LAST, а так же день недели при помощи параметра /D.

/D. Этот параметр отвечает за день недели, на который запланировано выполнение назначенного задания. Доступны следующие значения данного параметра: MON, TUE, WED, THU, FRI, SAT, SUN. Указывать значения вы можете списком, разделяя их запятыми или через дефис, что указывает на последовательность дней. Символ * задает все дни недели.

:/>  Как отключить обновления Windows 10 навсегда: 10 способов полной отмены

/M. Подобно дням недели, у вас есть возможность указывать месяцы календарного года. Доступны следующие значения: JUN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV и DEC. Также, как и со значениями дней недели, вы можете указывать месяцы, разделенные запятыми, например MAR, JUN, OCT, DEC, а также последовательность – APR-NOV.

/I. Используя данный параметр, вы можете указать интервал простоя системы, который необходимо выждать, прежде чем запустить запланированную задачу, для которой значением параметра /SC является ONIDLE. Вы можете указать значение интервала простоя от 1 до 999 минут.

/ST. Этот параметр отвечает за время запуска назначенной задачи. Для указания времени начала задачи используется 24-часовой формат, например, 21:54. Если данный параметр не указан, то для старта задания назначается текущее время. Данный параметр необходимо указывать, если значением параметра /SC является ONCE.

/ET. Данный параметр отвечает за время завершения задания. Так же, как и в случае с параметром /ST, указывается 24-часовой формат времени. Этот параметр вы можете использовать только со значениями MINULE и HOURLY параметра /SC.

/SD. Используя этот параметр, вы можете указать дату первого запуска назначенного задания, используя стандартный формат операционной системы, например ДД/ММ/ГГГГ. В том случае, если этот параметр не был указан, датой первого запуска задания назначается текущее число.

/ED. Текущий параметр позволяет указать дату завершения задания в стандартном формате операционной системы.

/DU. Этот параметр позволяет указать длительность выполнения задания, где значением должно быть число часов и минут для выполнения, например, ЧЧ:ММ. Этот параметр нельзя одновременно применять с параметров /ET.

/RI. Данный параметр позволяет указать интервал запуска назначенного задания в минутах. Интервал можно указывать в промежутке между 1 и 599940 мин. Значением по умолчанию для параметров /ET и /DU является 10 минут.

/EC. Этот параметр задает имя обслуживаемого журнала при выборе значения ONEVENT параметра /SC. Данный параметр будет подробно рассматриваться в следующей статье.

/K. Используя этот параметр, вы указываете, что при достижении времени завершения или по истечении срока выполнения назначенного задания его не следует повторно запускать. Но если данное задание уже выполняется, оно не будет остановлено.

/Z. Указав этот параметр, задание будет автоматически удалено после завершения запуска по расписанию.

/F. Обычно, при создании задачи, которая уже присутствует в папке, утилита SchTasks отображает предупреждение о перезаписи существующего задания. Используя этот параметр, вы можете подавить подобное предупреждение, тем самым указав принудительное создание задания.

/DELAY. Этот параметр отвечает за время ожидания перед запуском задания после включения указанного триггера в формате мммм:СС. Вы можете использовать этот параметр только для заданий, значения параметра /SC у которых ONSTART, ONLOGON и ONEVENT.

/XML. Текущий параметр позволяет создавать задания, загружая их параметры из конфигурационных XML-файлов. Об этом параметре и XML-файлах назначенных заданий вы узнаете в одной из следующих статей.

Заключение

Планировщик заданий – это важнейшее системное средство, позволяющее назначать автоматически выполняемые задания, запуск которых производится в определенное время или при возникновении определенных событий. Из этой статьи вы узнали об архитектуре планировщика задач и о средствах, предназначенных для планирования заданий на локальных и удаленных компьютерах.

Был детально рассмотрен поднабор команд утилиты командной строки Schtasks.exe, предназначенный для отображения назначенных заданий на локальном или удаленном компьютере. В следующей статье я расскажу о способах создания различных задач при помощи командной строки.

Оставьте комментарий

Adblock
detector