Использование локального планировщика

Локальный планировщик — это служба, запускаемая на устройствах. Он является частью агента Common Base и устанавливается в процессе установки устройств. Обычно локальный планировщик выполняет обработку задач продукта Management Suite, например, периодический запуск сканера инвентаризации. Другие планируемые задачи, например, развертывание программного обеспечения или операционной системы, выполняются главным сервером. Локальный планировщик можно использовать для планирования собственных задач для их периодического запуска на устройствах. После создания сценария локального планировщика его можно развернуть на других устройствах с помощью окна Запланированные задачи (Scheduled tasks). 

Локальный планировщик назначает каждому заданию идентификационный номер. Сценарии локального планировщика используют диапазон идентификаторов, отличающийся от используемых Management Suite сценариев локального планировщика по умолчанию. По умолчанию активным на каждом устройстве может быть только один выборочный сценарий планировщика. При создании и развертывании на других устройствах нового сценария он заменит старый сценарий (любой сценарий в диапазоне идентификаторов выборочного локального планировщика) без влияния на сценарии локального планировщика по умолчанию, например, на расписание локального сканирования инвентаризации.

При выборе параметров планирования не ограничивайте критерии задания так, чтобы они редко соответствовали действительности, если только это не является необходимым. Например, если при конфигурировании задачи вы выбрали "Понедельник" в качестве дня недели и "17" в качестве дня месяца, задание будет выполняться только в тот понедельник, на который выпадет семнадцатое число месяца, что происходит очень редко.

Порядок настройки команд локального планировщика
  1. В окне Управляемые сценарии (Managed scripts) (Сервис > Распространение > Управление сценариями) (Tools > Distribution > Manage Scripts) в контекстном меню "Мои сценарии" щелкните Новый сценарий локального планировщика (New local scheduler script).
  2. Введите имя сценария (Script name).
  3. Для определения параметров сценария нажмите Добавить (Add).
  4. Настройте параметры локального планировщика, как было описано ранее.
  5. Для сохранения сценария нажмите Сохранить (Save).
  6. Для развертывания созданного сценария в устройствах воспользуйтесь окном Запланированные задачи (Scheduled tasks).

Установка службы локального планировщика на неуправляемом устройстве

Службу локального планировщика LANDesk можно установить на неуправляемом устройстве. Для обеспечения полной функциональности локального планировщика требуется только два файла:

Для установки службы локального планировщика LANDesk на неуправляемом сервере или рабочей станции выполните приведенные ниже действия.

  1. Создайте следующую папку:

    %ProgramFiles%\LANDesk\LDClient

  1. Скопируйте файлы LocalSch.exe и LTapi.dll в эту папку.
  2. Щелкните Пуск > Выполнить и введите следующую команду:

    “%ProgramFiles%\LANDesk\LDClient\localsch.exe” /i

Удаление службы локального планировщика

Для удаления службы локального планировщика LANDesk выполните приведенные ниже действия.

  1. Щелкните Пуск > Выполнить и введите следующую команду:

    “%ProgramFiles%\LANDesk\LDClient\localsch.exe” /r

  2. Удалите файлы и папки.

Параметры командной строки LocalSch.exe

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

Ниже приведены параметры командной строки, поддерживаемые приложением локального планировщика.

LocalSch.exe [/i] [/r] [/d] [/tasks] [/isinstalled] [/del] [/removetasks]

 [/exe=<исполняемый файл>] [/cmd=<командная строка>] [/start=”<дата/время>”] [/freq=xxx]

 [/user] [/bw=xxx|<сервер>] [/tod=<начало>|<конец>] [/dow=<начало>|<конец>]

 [/dom=<начало>|<конец>] [/ipaddr] [/taskid=<идентификатор>] [/range=<минимум>|<максимум>]

/i – установка службы

Установка службы локального планировщика на устройство. После установки локального планировщика его по-прежнему необходимо запустить.

/r – удаление службы

Удаление службы локального планировщика из устройства. Перед удалением службы локального планировщика ее необходимо остановить.

/d – запуск в режиме отладки

Запуск локального планировщика в режиме отладки. Запуск локального планировщика в режиме отладки выполняется как обычный процесс Windows, а не как служба или псевдослужба. Этот режим не приводит к выводу дополнительных данных при отладке.

/isinstalled – проверка установки

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

/tasks – список задач

Эта команда выводит список текущих сконфигурированных задач в stdout, но их можно просмотреть в командной строке только с параметром more.

LocalSch.exe /tasks | more


Выходные данные можно перенаправить в текстовый файл, например tasks.txt, используя следующую командную строку:

LocalSch.exe /tasks > tasks.txt

Добавление задачи с помощью LocalSch.exe

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

Кроме параметров командной строки, приведенных ниже, можно использовать параметр /taskid для указания задачи.

/exe=<исполняемый файл> - запланированное приложение

Определение приложения, которое будет запускаться при наступлении запланированного времени. Если этот параметр не предоставляется, локальная задача не будет создана.

/cmd=<командная строка> – командная строка приложения

Указание командной строки, которая будет использоваться при запуске запланированного приложения. Если этот параметр не указан, запланированное приложение будет запущено без параметров командной строки.

/start="<дата/время>" – время запуска

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

/start="06 Nov 2001 17:39:47" /bw=WAN|myserver.domain.com

Этот формат представляет собой укороченную версию формата, используемого HTTP. Месяц всегда указывается с использованием трехбуквенной аббревиатуры ASCII: янв, фев, мар, апр, май, июн, июл, авг, сен, окт, ноя или дек. Если формат даты указан неправильно, задача добавлена не будет.

/freq=xxx – частота

Задает частоту повторения. Частота — это время (в секундах) до повторного запуска задачи. Если этот параметр не указан или равен нулю, задача будет запущена только один раз.

/user – фильтр по пользователю

Указывает, что для задачи необходимо создать фильтр по пользователю. Фильтр по пользователю не разрешит запуск задачи, пока данный пользователь не войдет в систему.

/bw=xxx|<сетевой узел> — фильтр по пропускной способности

Определяет пропускную способность, необходимую для заданного сетевого хоста. Пропускная способность может соответствовать соединению по локальной сети, глобальной сети или RAS. Если используется другое значение пропускной способности, то локальный планировщик использует по умолчанию пропускную способность соединения RAS. Задача не будет выполнена, пока локальный планировщик не обнаружит заданную пропускную способность между устройством и указанным сетевым узлом.

Например, следующий фильтр запрещает выполнение задачи до тех пор, пока для компьютера myserver.domain.com не будет доступно хотя бы соединение по глобальной сети.

/bw=WAN|myserver.domain.com

/tod=<начало>|<завершение> — фильтр по времени дня

Задает фильтр по времени дня. Задача может быть выполнена только в период между заданным начальным и конечным временем дня. Значения времени дня задаются в часах от 0 до 23. Например, следующий фильтр задает запуск задачи между 19 и 22 часами:

/tod=19|22

/dow=<начало>|<завершение> — фильтр по дню недели

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

/dow=0|4

/dom=<начало>|<завершение> — фильтр по дню месяца

Задает фильтр по дню месяца. Задача может быть выполнена только в период между заданным начальным и конечным днем месяца. Фильтр по дням месяца задается с помощью чисел от 1 до 31. Например, следующий фильтр задает запуск задачи между 16 и 28 числами месяца.

/dom=16|28

/ipaddr — фильтр по изменению IP-адреса

Определяет, что задача выполняется при каждом изменении IP-адреса компьютера. Эта функция требует наличия библиотек IP Helper и недоступна в системах Windows 95 и Windows 98/NT, если не установлена программа Internet Explorer 4 или более поздней версии.

Удаление задачи с помощью LocalSch.exe

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

/del – удаление одной или нескольких задач

Удаляет задачу, заданную параметром /taskid, или все задачи в пределах диапазона /range от минимального до максимального значения включительно. Идентификаторы задач могут быть определены визуально с помощью параметра командной строки /tasks или с использованием константы /taskid при добавлении задачи.

/removetasks – удаление всех задач

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

/taskid – определение идентификатора задачи

Определяет идентификатор удаляемой задачи. Идентификаторы задач можно определить, просмотрев запланированные в данный момент задачи (см. /tasks выше). Идентификатор задан в виде целочисленного значения.

/range=<мин>|<макс> – диапазон идентификаторов задач

Определяет минимальное и максимальное значение для диапазона идентификаторов задач. Для удаления всех задач, идентификаторы которых попадают в заданный диапазон, можно использовать команду /del.

Обычно при формировании задачи идентификатор назначается случайным образом, для чего используется значение текущего времени (time_t). Случайно выбранный идентификатор не может быть меньше 100000. Этот параметр командной строки можно использовать для задания идентификатора задачи. Значения идентификаторов задач 0–1000 зарезервированы приложением LANDesk для внутреннего использования. Значения идентификаторов задач 1001–2000 зарезервированы для использования интерфейсом локального планировщика консоли управления.

Синтаксический разбор и командная строка

При разборе командной строки локальный планировщик использует стандарт синтаксического разбора с разделителями-пробелами. Это означает, что, если какой-либо параметр содержит пробел, то этот параметр необходимо заключить в кавычки. Некоторые параметры, например /start, всегда содержат пробел, поэтому их всегда необходимо заключать в кавычки. Другие параметры, например /exe and /cmd, могут содержать или не содержать пробел, поэтому иногда их необходимо заключать в кавычки, а иногда нет.

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

LocalSch.exe /exe=c:\windows\system32\cmd.exe

Далее приведен пример командной строки, для которой необходимы кавычки.

LocalSch.exe /exe="%ProgramFiles%\MyProgram\myprog.exe" /cmd="/apm /s /ro"

Заключение в кавычки параметров, уже имеющих кавычки

Если параметры, которые нужно передать в /cmd =, уже содержат кавычки, то необходимы тройные кавычки: одни кавычки необходимы для заключения в них всей строки, другие — для заключения в них значения в кавычках, а третьи — для самих значений в кавычках.

Ниже приведен пример командной строки, параметры которой необходимо заключить в тройные кавычки.

LocalSch.exe /exe="%ProgramFiles%\LANDesk\File Replicator\LANDeskFileReplicatorNoUI.exe" /cmd="""%ProgramFiles%\LANDesk\File Replicator\LDHTTPCopyTaskConfig.xml"" ""%ProgramFiles%\LANDesk\File Replicator\replicator.log"""

В указанной выше команде два параметра являются путями к файлам. Поскольку оба пути находятся в каталоге Program Files, пути имеют пробелы и должны быть заключены в кавычки, чтобы их можно было использовать в качестве параметров для LANDeskFileReplicatorNoUI.exe. В связи с этим каждый заключенный в кавычки параметр заключается во вторые кавычки, а затем вся строка заключается еще в одни кавычки.

Заключение в кавычки операторов переназначения

В кавычки необходимо также заключать любые переключатели, содержащие оператор переназначения. Операторы переназначения включают следующие символы: <, >, |. Переключатель /bw использует символ | или вертикальную линию. Важно помнить, что символ | используется в командной подсказке для передачи выходных данных другому приложению. Чтобы этот символ не подвергался разбору командной строкой, его необходимо заключить в кавычки.

Ниже приведен пример команды, использующей параметр /bw с символом |, который необходимо заключить в кавычки.

LocalSch.exe /exe=C:\ldclient\myprogram.exe /cmd="/apm /s /ro" /bw="LAN|server"