Введение

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

Создание назначенных заданий. Команда Schtasks /Create

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

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

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

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

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

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

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

/U. Этот параметр отвечает за учетную запись пользователя, чьи разрешения будут задействованы во время выполнения задания. Вы можете указать как учетную запись пользователя, которая находится в рабочей группе, так и пользователя, который входит в состав домена. В случае с доменной учетной записью, вам нужно сначала ввести домен, а затем учетную запись пользователя (например, testdomain.comDImaN);

/P. При помощи этого параметра вы можете указать пароль для пользовательской учетной записи. В том случае, если вы не указали пароль, но пароль применяется для указанной учетной записи, утилита командной строки запросит ввод пароля для продолжения действий;

/RU. Данный параметр указывается для того, чтобы задание выполнялось под определенной учетной записью. Если вы хотите, чтобы задание было выполнено под системной учетной записью, то в качестве значения данного параметра укажите «», «NT AUTHORITYSYSTEM», «NT AUTHORITYLOCALSERVICE», «NT AUTHORITYNETWORKSERVICE» или «SYSTEM»;

/RP. При помощи этого параметра вы можете указать пароль для пользовательской учетной записи, указанной параметром /RU. В том случае, если вы не указали пароль, но пароль применяется для указанной учетной записи, утилита командной строки запросит ввод пароля для продолжения действий;

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

/NP. Обычно этот параметр используется в том случае, если для задания разрешается доступ только к локальным ресурсам. В этом случае планировщик заданий не запоминает пароль, и задание выполняется в не интерактивном режиме под учетной записью пользователя;

/RL. Все задачи создаются с привилегиями стандартного пользователя. В некоторых случаях появляется необходимость в выполнении административных задач с максимальными привилегиями пользователя. Используя данный параметр, вы можете указать, с какими привилегиями будет выполняться задание. Значение Highest применяется для выполнения задания с наивысшими привилегиями, а значение Limited, которое установлено по умолчанию, применяется для выполнения задания с привилегиями обычного пользователя;

/V1. Используя данную команду, вы можете настраивать задания как для операционных систем Windows Vista, Windows 7, Windows Server 2008 и Windows Server 2008 R2, так и для операционных систем Windows 2000, Windows XP, Windows Server 2003. Для того чтобы создать задание для платформ, предшествующих Windows Vista необходимо указать данный параметр.

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

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

sched2-02 
Рис. 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. Указывать значения вы можете списком, разделяя их запятыми или через дефис, что указывает на последовательность дней. Символ * задает все дни недели.

/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. Используя этот параметр, вы можете указать дату первого запуска назначенного задания, используя стандартный формат операционной системы, например ДД/ММ/ГГГГ. В том случае, если этот параметр не был указан, датой первого запуска задания назначается текущее число. Вы можете использовать этот параметр только со значениями MINUTE, HOURLY, DAILY, WEEKLY и MONTHLY параметра /SC

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

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

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

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

/K. Используя этот параметр, вы указываете, что при достижении времени завершения или по истечении срока выполнения назначенного задания его не следует повторно запускать. Но если данное задание уже выполняется, оно не будет остановлено. Этот параметр нельзя использовать без параметров /ET и /DU, а также нельзя использовать при значениях ONSTART, ONLOGON, ONIDLE и ONEVENT параметра /SC.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

sched2-06

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

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

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

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

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

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

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

Заключение

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

Реклама