Планировщик заданий windows server 2012

Здесь я расскажу как создать простую задачу в планировщике задач в Windows Server 2008.

1. Постановка задачи

Предположим, что нам надо запускать файл «С:\Example\start.bat» в течении суток каждые 20 мин. Файл start.bat будет просто записывать в текстовый файл log.txt время своего запуска. Вот его содержание:

2. Добавление новой задачи

Запускаем диспетчер сервера («Пуск» — «Администрирование» — «Диспетчер сервера»). Раскрываем меню «Конфигурация» , затем «Планировщик заданий» и выделяем вкладку «Библиотека планировщика заданий» . Затем справа, в окне «Действия» , нажимаем «Создать папку…» .

Вводим имя — я ввожу «Мои задачи» — и видим что рядом с заданиями Microsoft появилась папка с только что введенным именем. Выделим ее и в меню «Действия» нажмем «Создать задачу» .

Запустится окно «Создание задачи» . В поле «Имя» вводим название задачи, при желании можно заполнить «Описание задачи» . Ниже необходимо указать учетную запись для запуска задачи. Обычно со временем на сервере накапливается много разных задач, и я, как правило, создаю отдельную учетную запись для их выполнения (как создать новую учетную запись можно прочитать здесь). Если вы хотите сменить пользователя для задачи нажимаем «Изменить» , затем «Дополнительно» , в появившемся окне нажимаем «Поиск» и выбираем пользователя из списка.

Далее устанавливаем переключатель на «Выполнять вне зависимости от регистрации пользователя» и в меню «Настроить для» выбираем «Windows 7, Windows Server 2008 R2» .

Теперь переходим на вкладку «Триггеры» и нажимаем «Создать» . Откроется окно «Создание триггера» . Здесь, в соответствии с поставленной задачей, выбираем:

  • Параметры — «Ежедневно» ;
  • Начинать с — устанавливаем время «11:00:00» ;
  • Повторять каждые — «1 дн.» ;
  • Установим флаг «Повторять задачу каждые:» и т. к. в списке нет нужного нам интервала, вручную напишем «20 мин.» в течение «Бесконечно» ;

Novaya_Zadacha_006

Или же можно создать 3 разных триггера с интервалом исполнения 1 час и началом действия соответственно: 11:00, 11:20 и 11:40.

В обоих случаях задача будет запускаться каждые 20 минут.

Далее, на вкладке «Действия» нажимаем «Создать» и указываем путь к нашему файлу.

При необходимости можно заполнить вкладки «Условия» и «Параметры» . В нашем примере этого не требуется. После сохранения задачи, она должна появиться в списке задач. (При определении нескольких триггеров, время следующего запуска задачи показывается в таблице не правильно — по первому триггеру. Несмотря на это задача запускается как положено.)

Все, на этом создание новой задачи закончено. По прошествии часа файл log.txt должен содержать записи:

Profile picture for user Олег

Windows Server

Имеем Windows Server 2012 R2. Задача — автоматически перезагружать сервер каждый понедельник в 5 утра. Приступаем.

Запускаем Планировщик заданий, создаём в нём папку «reboot»:

reboot

Делаем Create Basic Task… Запускается мастер:

reboot

Указываем Name, Description:

reboot

Кликаем Next:

reboot

Выбираем период Weekly. Next:

reboot

Указываем начало — ближайший понедельник 5 утра. Ставим галку Monday. Next:

reboot

Выбираем Start a program. Next:

reboot

В Program/script: пишем:

%SYSTEMROOT%\System32\shutdown.exe

В Add arguments (optional):

/r /f /t 90 /d p:0:0 /c "Перезапуск по понедельникам. Отмена: shutdown.exe /a"

Где:

  • /r — перезагрузка,
  • /f — принудительное закрытие всех приложений,
  • /t 90 — время ожидания до начала перезагрузки 90 сек,
  • /d p:0:0 — причины перезагрузки для журнала. В данном случае, мы указали: p — запланированная перезагрузка, 0:0 — «Other (planned)»,
  • /c  комментарий в свободной форме длинной не более 512 символов. Комментарий будет показываться юзерам 90 секунд. За это время можно отменить перезагрузку командой shutdown.exe /a.

Список параметров и причин перезагрузки можно посмотреть shutdown.exe /?

reboot

Мастер не доделали, кликаем Finish. Создаётся задача  — редактируем её.

win

Ставим Run whether user is logged on or not. Добавим галку Run with highest privileges. Ok:

reboot

Нас попросят ввести имя пользователя, от имени которого будет выполняться задание. И пароль. Готово:

win

Сам пока не проверял результатов. В ближайший понедельник посмотрим…

P.S.

Две недели прошло — шедулер нормально перезагружает сервер по понедельникам.


Прочитано:
1 105

Рассмотрим вариант создание заданий через командную строку:

На исходной машине alektest5 создадим задание о перезагрузке сервера каждый час:

Schtasks.exe /create /S alektest5 /RU Administrator /RP 712mbddr@ /SC HOURLY /TN shutdown /TR “%systemroot%\system32\shutdown.exe /r /f”

Создание задания в консоли., где

/S – имя удаленной / локальной машины.

/RU – От имени кого будем запускать наше задание

/RP – Пароль от имени кого будет запускать задание

/SC – С какой периодичностью будем запускать задание.

/TN – название задания

/TR – путь до исполняемой команды/батника.

Я указал у себя, что перезагружать сервер каждый час. Итогом будет окно вида:

Успешное выполнение задания. Будет перезагрузка.В событиях

Server ManagerDiagnosticsEvent ViewerWindows LogsSystem отфильтровать по коду 1074.

Смотрим события выполнения задания.

Удалить все задания или конкретное:

Schtasks /delete /TN * /F

Schtasks /delete /TN “shutdown” /F

, параметры /TN “<ваше_название_задания>”.

Создание заданий с запуском внешнего скрипта:

Задание на запуск bat’ника в котором идет вывод текущей даты и времени каждую минуту и перенаправление в файл echo %date% %time% >> c:\1\1.txt

Schtasks /create /S alektest5 /RU Administrator /RP 712mdddr@ /SC MINUTE /TN time /TR “c:\1\bat” >> c:\1\1.txt

Задание с запуском внешнего скрипта.Задание на запуск bat’ника в котором идет бекап прав каталога c:\windows\system32\ и сохранение его по адресу c:\1\acl_system32.txt каждый день в 17 часов и заканчивается 18 часами.

Schtasks /create /S alektest5 /RU Administrator /RP 712mbddr@ /SC DAILY /ST 17:00 /ET 18:00 /TN time /TR “c:\1\bat.bat”

Определенное время запуска задания.

Большинство пользователей и администраторов привыкли использовать графический интерфейс консоли Taskschd.msc для создания заданий планировщика Windows (Task Scheduler), запускаемых по расписанию. Однако в различных скриптах и автоматизируемых задачах для создания заданий планировщика гораздо удобнее использовать возможности PowerShell. В этой статье мы покажем, как создавать и управлять заданиями планировщика Windows из PowerShell.

Содержание:

  • Управление заданиями Task Scheduler с помощью PowerShell
  • Как создать задание планировщика с помощью PowerShell?
  • Получение информации и запуск заданий планировщика из PowerShell
  • Экспорт и импорт заданий планировщика в XML файл

Управление заданиями Task Scheduler с помощью PowerShell

В Windows 10/Windows Server 2016 для управления задачами в планировщике используется PowerShell модуль ScheduledTasks. Список командлетов в модуле можно вывести так:

Get-Command -Module ScheduledTasks

  • Disable-ScheduledTask
  • Enable-ScheduledTask
  • Export-ScheduledTask
  • Get-ClusteredScheduledTask
  • Get-ScheduledTask
  • Get-ScheduledTaskInfo
  • New-ScheduledTask
  • New-ScheduledTaskAction
  • New-ScheduledTaskPrincipal
  • New-ScheduledTaskSettingsSet
  • New-ScheduledTaskTrigger
  • Register-ClusteredScheduledTask
  • Register-ScheduledTask
  • Set-ClusteredScheduledTask
  • Set-ScheduledTask
  • Start-ScheduledTask
  • Stop-ScheduledTask
  • Unregister-ClusteredScheduledTask
  • Unregister-ScheduledTask

powershell командлеты из модуля ScheduledTasks

Совет. Ранее в Windows для создания и управления заданиями планировщика в основном использовались встроенная консольная утилита schtasks.exe.

Как создать задание планировщика с помощью PowerShell?

В современных версиях PowerShell (начиная с PowerShell 3.0 в Windows Server 2012/Windows 8) для создания заданию планировщика нужно использовать командлеты New-ScheduledTaskTrigger и Register-ScheduledTask.

Предположим, наша задача создать задание планировщика, которое должно запускаться при загрузке компьютера (или в определенное время) и выполнять какой-то PowerShell скрипт. Создадим задание планировщика с именем StartupScript_PS. Данное задание должно каждый день в 10:00 запускать PowerShell скрипт, хранящийся в файле C:\PS\StartupScript.ps1 из-под учетной записи системы (SYSTEM). Задание будет выполняться с повышенными привилегиями (галка “Run with highest privileges”).

$Trigger= New-ScheduledTaskTrigger -At 10:00am -Daily
$User= "NT AUTHORITY\SYSTEM"
$Action= New-ScheduledTaskAction -Execute "PowerShell.exe" -Argument "C:\PS\StartupScript.ps1"

Register-ScheduledTask -TaskName "StartupScript_PS" -Trigger $Trigger -User $User -Action $Action -RunLevel Highest –Force

Если задание успешно создано, появится надпись Ready.

создать задание планировщика с помощью Register-ScheduledTask

Теперь ваш PowerShell скрипт будет запускаться по указанному расписанию. Если на вашем компьютере настроена PowerShell Execution Policy, блокирующая запуск скриптов PS1, вы можете запустить скрипт их планировщика с параметром –Bypass.

Используйте такую строку при создании нового задания:

$Action= New-ScheduledTaskAction -Execute "PowerShell.exe" -Argument “-NoProfile -NoLogo -NonInteractive -ExecutionPolicy Bypass -File C:\PS\StartupScript.ps1"

Совет. Если нужно, чтобы задание запускалось каждый раз при загрузке компьютера, первая строка должна быть такой:
$Trigger= New-ScheduledTaskTrigger -AtStartup

Если нужно выполнять задание при входе пользователя:
$Trigger= New-ScheduledTaskTrigger –AtLogo
n

Откройте консоль
Taskschd.msc
и проверьте, что проверьте, что в Task Scheduler Library появилось новое задание планировщика.

консоль Task Scheduler с новым заданием планировщика

В версии Powershell 2.0 (Windows 7, Windows Server 2008 R2) для создания повторяющегося задания (ScheduledJob) из PowerShell необходимо воспользоваться COM интерфейсом Schedule.Service (либо обновите версию PowerShell). В этом примере мы создадим задание планировщика, которое во время запускает определённый файл с PowerShell скриптом во время загруки. Задание выполняется с правами системы (System).

$TaskName = "NewPsTask"
$TaskDescription = "Запуск скрипта PowerShell из планировщика"
$TaskCommand = "c:\windows\system32\WindowsPowerShell\v1.0\powershell.exe"
$TaskScript = "C:\PS\StartupScript.ps1"
$TaskArg = "-WindowStyle Hidden -NonInteractive -Executionpolicy unrestricted -file $TaskScript"
$TaskStartTime = [datetime]::Now.AddMinutes(1)
$service = new-object -ComObject("Schedule.Service")
$service.Connect()

$rootFolder = $service.GetFolder("\")
$TaskDefinition = $service.NewTask(0)
$TaskDefinition.RegistrationInfo.Description = "$TaskDescription"
$TaskDefinition.Settings.Enabled = $true
$TaskDefinition.Settings.AllowDemandStart = $true
$triggers = $TaskDefinition.Triggers
#http://msdn.microsoft.com/en-us/library/windows/desktop/aa383915(v=vs.85).aspx
$trigger = $triggers.Create(8)

Получение информации и запуск заданий планировщика из PowerShell

Вы можете вывести список всех активных заданий планировщика в Windows с помощью команды:

Get-ScheduledTask -TaskPath | ? state -ne Disabled

Чтобы получить информацию о конкретном задании:

Get-ScheduledTask CheckServiceState_PS| Get-ScheduledTaskInfo

LastRunTime : 4/6/2021 10:00:00 AM
LastTaskResult : 267011
NextRunTime : 4/7/2021 10:00:00 AM
NumberOfMissedRuns : 0
TaskName : CheckServiceState_PS
TaskPath : \
PSComputerName :

информация о запуске задания Get-ScheduledTaskInfo

Вы можете отключить это задание:

Get-ScheduledTask CheckServiceState_PS | Disable-ScheduledTask

Чтобы включить задание:

Get-ScheduledTask CheckServiceState_PS | Enable-ScheduledTask

Чтобы запустить задание немедленно (не дожидаясь расписания), выполните:

Start-ScheduledTask CheckServiceState_PS

отключить/включить/запустить задание планировщика с помощью PowerShell

Чтобы полностью удалить задание из Task Scheduler:

Unregister-ScheduledTask -TaskName CheckServiceState_PS

Если нужно изменить имя пользователя, из-под которого запускается задание и, например, режим совместимости, используйте командлет Set-ScheduledTask:

$task_user = New-ScheduledTaskPrincipal -UserId 'winitpro\kbuldogov' -RunLevel Highest
$task_settings = New-ScheduledTaskSettingsSet -Compatibility 'Win7'
Set-ScheduledTask -TaskName CheckServiceState_PS -Principal $task_user -Settings $task_settings

При появлении ошибки “Set-ScheduledTask : No mapping between account names and security IDs was done” проверьте, что у вас указано правильное имя пользователя.

Set-ScheduledTask : No mapping between account names and security IDs was done

Экспорт и импорт заданий планировщика в XML файл

С помощью PowerShell можно экспортировать любое задания планировщика в текстовый XML файл для распространения на другие компьютеры. Вы можете экспортировать задание из графического интерфейса Task Scheduler или из консоли PowerShell.

Следующая команда экспортирует задание StartupScript_PS в файл StartupScript_PS.xml:

Export-ScheduledTask "StartupScript_PS" | out-file c:\temp\StartupScript_PS.xml

Export-ScheduledTask - импорт задания планировщика в xml файла

Командлет Export-ScheduledTask не доступен в PowerShell 2.0. Поэтому в Windows 7 / 2008 R2 для экспорта настроек задания в XML файл лучше воспользоваться встроенной утилитой schtasks, вывод которой нужно перенаправить в текстовый файл:

schtasks /query /tn "NewPsTask" /xml >> "c:\ps\NewPsTask.xml"

После того, как настройки задания планировщика экспортированы в XML файл, его можно импортировать на любой другой компьютер с помощи графической консоли, SchTasks.exe или PowerShell.

Воспользуйте командлетом PowerShell Register-ScheduledTask чтобы параметры задания из файла и зарегистрировать его:

Register-ScheduledTask -Xml (Get-Content “\\Server1\public\NewPsTask.xml” | out-string) -TaskName "NewPsTask"

Примечание. В PowerShell 2.0 (Windows 7/Server 2008 R2) импорт задания также проще выполнить с помощью утилиты schtasks. Первая команда создаст новое задание. Вторая – сразу запустит его (не дожидаясь срабатывания триггера).

schtasks /create /tn "NewPsTask" /xml "\\Server1\public\NewPsTask.xml " /ru corp\aaivanov /rp Pa$$w0rd
schtasks /Run /TN "NewPsTask"

Обратите внимание, что в этом примере указаны данные учетной записи, из-под которой будет запускаться задание. Если имя и пароль учетной записи не указаны, то т.к. они не хранятся в задании, они будут запрошены при импорте.

Планировщик задач Windows — широко известный служебный инструмент пользовательского интерфейса для автоматизации повторяющихся задач. Не все знают, что возможности планировщика задач шире, чем подготовка расписания для запуска сценариев, программ и документов в определенное время. С помощью данного инструмента можно отображать окна сообщений и отправлять сообщения по электронной почте. Кроме того, можно назначить график запуска задач в зависимости от некоторых триггеров событий, в том числе запуска компьютера, регистрации в системе и даже пользовательских событий. В данной статье я расскажу об этих триггерах событий и объясню, как эффективно использовать многими недооцениваемый планировщик задач

Роб Грейвилл – основатель сайта GravelleConsulting.com, создает системы для коммерческих и правительственных организаций Канады

Планировщик задач Windows — широко известный служебный инструмент пользовательского интерфейса для автоматизации повторяющихся задач. Не все знают, что возможности планировщика задач шире, чем подготовка расписания для запуска сценариев, программ и документов в определенное время. С помощью данного инструмента можно отображать окна сообщений и отправлять сообщения по электронной почте. Кроме того, можно назначить график запуска задач в зависимости от некоторых триггеров событий, в том числе запуска компьютера, регистрации в системе и даже пользовательских событий. В данной статье я расскажу об этих триггерах событий и объясню, как эффективно использовать многими недооцениваемый планировщик задач.

Времена изменились

Было время, когда планировщик задач считался примитивным и непригодным для настройки, в сравнении с демоном-планировщиком задач cron в операционных системах Unix и Linux. Современный планировщик задач отличается гибкостью настроек и широкими возможностями. Поэтому прежде чем обращаться к сторонним утилитам, выясните, нет ли нужных функций в планировщике задач.

В предлагаемой статье рассматривается операционная система Windows Server 2008. В других операционных системах, в частности Windows 7, могут быть небольшие отличия, однако планировщик задач функционирует в основном так, как описано здесь.

Основы планировщика задач

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

Для запуска планировщика задач требуются административные полномочия. Можно использовать панель управления, команду Manage или taskschd.msc. На экране 1 показан вид планировщика задач после первого запуска.

Планировщик задач
Экран 1. Планировщик задач

Создание новой задачи

Существует три способа подготовить новую задачу:

* создать простую задачу;

* создать более сложную задачу;

* импортировать задачу.

Пункт меню Create Basic Task подойдет для задач, не требующих сложных настроек, например ограничений времени задач или числа повторений. Запланировать запуск Microsoft Outlook при старте компьютера можно следующим образом.

  1. Нажмите кнопку Action на панели меню, а затем щелкните Create Basic Task.
  2. Введите имя задачи (в данном примере Launch Outlook) и необязательное описание, а затем нажмите кнопку Next.
  3. Задачу можно выполнять

* на календарной основе (каждый день, неделю, месяц или только один раз);

* при типовых повторяющихся событиях, таких как запуск компьютера или регистрация в системе;

* при определенных событиях, например при регистрации указанного события.

Перейдите на вкладку Triggers и нажмите кнопку New.

4. Из раскрывающегося списка Begin the task выберите пункт At log on.

5. Выберите 1 минуту или 2 минуты из списка Delay task for, чтобы успеть выполнить другие задачи, сопутствующие запуску компьютера. О преимуществах этого решения будет рассказано ниже.

6. Проверьте, установлен ли флажок Enabled, а затем нажмите кнопку OK, чтобы закрыть диалоговое окно New Trigger.

7. На экране Action (см. экран 2) следует выбрать одно из трех действий:

* запустить программу;

* отправить сообщение по электронной почте;

* показать сообщение.

Запуск действия программы
Экран 2. Запуск действия программы

Выберите пункт Start a program и нажмите кнопку Next.

8. На экране Start a Program нажмите кнопку Browse и найдите файл outlook.exe. В Windows 7 этот файл располагается в одном из следующих мест:

* 64-разрядная Windows — C:\program files\microsoft office\office14\

* 32-разрядная Windows — C:\program files (x86)\microsoft office\office14\

9. Нажмите кнопку Next для перехода к экрану Finish.

10. На экране Finish приведены сводка сведения о задаче и флажок для показа дополнительных вариантов после ее создания. Щелкните Finish, чтобы создать задачу, которая вносится в список Active Tasks.

Запуск задач по требованию

В окне Active Tasks можно дважды щелкнуть любую запланированную задачу, чтобы открыть ее свойства. Любую задачу можно выполнить по требованию, таким образом ее можно запускать для удобства, тестирования или отладки (последнее может быть отчасти встроенной функцией). Для запуска задач по требованию используется следующая процедура.

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

Команда Run
Экран 3. Команда Run

-Щелкните пункт Run для запуска задачи. Остановить процесс можно нажатием кнопки Stop.

Изменение существующей задачи

Отменить задачу можно из меню Selected Item. Чтобы удалить выбранную задачу, используйте кнопку Delete.

На центральной панели показаны свойства выбранной задачи. Однако эти свойства доступны только для чтения. Для доступа к этой информации в редактируемой форме щелкните Properties в разделе Selected Item. Откроется окно Properties с более тонкими возможностями управления триггерами, действиями, условиями и параметрами задачи, как показано на экране 4.

Вкладка Task Settings
Экран 4. Вкладка Task Settings

Далее в статье речь пойдет об этих параметрах и их использовании для организации более сложных задач, таких как:

* планирование отложенного выполнения сценария запуска;

* планирование завершения работы после того, как сервер бездействовал в течение определенного времени;

* выполнение сценария Windows PowerShell;

* планирование задачи на основании определенного события;

* тестирование задач;

* тонкая настройка задачи, запускаемой событием, через интерфейс Developer API планировщика задач.

Планирование отложенного выполнения сценария запуска

Как правило, полезно отложить выполнение сценария запуска или приложения, чтобы завершить процедуру начальной загрузки сервера. Соответствующий параметр имеется в разделе Advanced Settings диалогового окна New Trigger.

Возникает вопрос, зачем нужен такой триггер запланированных задач, если те же функции имеются в папке Startup. Тому есть две причины. Прежде всего, загрузка и регистрация в системе сами по себе представляют изрядную нагрузку для компьютера. Запуск процессов непосредственно при регистрации в системе создает дополнительную нагрузку на компьютер, из-за чего он может не реагировать на действия пользователя в течение некоторого времени. Благодаря отложенной плановой задаче можно подождать, пока компьютер завершит подготовительные операции. Вторая, более важная, причина заключается в том, что запланированные задачи можно запускать с более широкими правами, чем элементы в папке Startup, которые выполняются с учетными данными выполнившего регистрацию пользователя. Механизм контроля учетных записей (UAC) требует наличия расширенного маркера для выполнения определенных задач, таких как:

* резервное копирование и восстановление данных;

* изменение членства в группах;

* создание административных сценариев;

* создание сценариев регистрации;

* создание учетных записей пользователей и групп;

* развертывание и обновление программных продуктов.

Подготовим задачу для резервного копирования после регистрации в системе. Поскольку требуется настроить расширенные параметры, будет создана обычная, а не простая задача. При этом шаги в основном те же, что и при создании задачи запуска Outlook, единственное отличие — первым действием будет Create Task (вместо Create Basic Task).

В диалоговом окне Create Task, как показано на экране 5, формируются учетная запись и полномочия, которые будут использоваться задачей. При работе с UAC пользователи группы администраторов располагают двумя маркерами. Начальный маркер представляет типовые права пользователя. Если щелкнуть исполняемый файл и выбрать вариант запуска от имени администратора, то используется полный маркер, содержащий административные права.

Параметры Task Security
Экран 5. Параметры Task Security

Аналогично, в режиме Run with highest privileges («Выполнить с наивысшими правами»), выбранном в области параметров безопасности диалогового окна Create Task, используется полный маркер. Этот параметр действует, только если пользователь входит в группу администраторов, так как лишь эти пользователи имеют два маркера. Для запуска программы с административными правами из обычной учетной записи пользователя необходимо выбрать режим Run whether user is logged on or not («Выполнять вне зависимости от зарегистрировавшегося пользователя»), а затем выбрать пользователя, члена административной группы. Введите имя пользователя в форме имя_компьютера\имя_пользователя (например, server01\administrator). Введите пароль. На вкладке Triggers нажмите кнопку New, чтобы открыть диалоговое окно New Trigger, показанное на экране 6. В раскрывающемся списке Delay task for даны шесть вариантов, от 30 секунд до 1 дня. К сожалению, собственное время задержки задать нельзя; приходится выбирать период, ближайший к нужному. В нашем случае должно хватить одной минуты. Нажмите кнопку OK, чтобы закрыть диалоговое окно.

Диалоговое окно New Trigger
Экран 6. Диалоговое окно New Trigger

На вкладке Actions нажмите кнопку New. Нажмите кнопку Browse и найдите файл C:\program files\cwrsync\cwrsync.cmd в диалоговом окне New Action. Обратите внимание, что с одной задачей может быть связано несколько действий. Нажмите кнопку Next и перейдите к экрану Finish, а затем нажмите Finish, чтобы создать задачу.

Планирование завершения работы сервера

В этой плановой задаче используется утилита Windows Sysinternals PsShutdown для завершения работы сервера, который бездействовал в течение определенного времени. Это отличный способ сэкономить системные ресурсы.

1. Создайте новую задачу, как в предыдущем разделе.

2. В текстовом поле Program/script введите команду:

C:\Adminutils\PsShutdown.exe

3. Введите следующие аргументы в текстовом поле Add arguments:

-s -f -c -t 10

4. Можно указать задержку, чтобы задача выполнялась только в случае, если компьютер бездействует в течение определенного времени. Выберите 30 минут в раскрывающемся списке Delay task for.

Выполнение сценария Windows PowerShell в качестве плановой задачи

PowerShell — самый мощный административный инструмент Windows, поэтому естественно, что администраторы Windows применяют планировщик задач для автоматизации запуска сценариев PowerShell. Эти два инструмента прекрасно дополняют друг друга.

Для выполнения сценариев PowerShell следует назначить политику выполнения. Для непосредственного выполнения команды PowerShell укажите параметр команды, а затем используйте символ амперсанда (&), пару фигурных скобок ({}) и выполняемую команду PowerShell:

powershell -NoLogo -executionpolicy RemoteSigned -command &{getprocess>>C:\fso\mytestprocesses.txt}

Я рекомендую применять команду Run, как показано на экране 7, для тестирования синтаксиса команды перед планированием задачи.

Запуск сценария PowerShell
Экран 7. Запуск сценария PowerShell

Для выполнения сценария просто замените флаг -command флагом -file:

powershell.exe -noprofile -executionpolicy RemoteSigned -file%public%\myscript.ps1

Обратите внимание, что переменные среды разделяются символами процента (%), как в любой команде Cmd.exe.

Планирование задачи на основе события

События Windows — вероятно, самые сложные из всех триггеров задач. Дело в том, что события Windows охватывают целый набор потенциальных триггеров. Чтобы открыть программу просмотра событий в пакете Server 2008 Administrative Tools, щелкните Start, Control Panel, System and Security, Event Viewer.

В программе просмотра событий (экран 8) отображается информация об аппаратных, программных и системных неполадках. События подразделяются по типам:

* ошибка — существенная неполадка, такая как потеря данных или сбой функциональности (например, не удается загрузить службу при запуске компьютера);

* предупреждение — не всегда имеет большое значение, но может указывать на проблемы в будущем (например, на диске осталось мало места);

* информация — сведения об успешном функционировании прикладной программы, драйвера или службы (например, успешно загружен сетевой драйвер);

* аудит успешных попыток — успешная проверенная попытка доступа (например, пользователь успешно совершает регистрацию в системе);

* аудит неуспешных попыток — неудачная проверенная попытка доступа (например, безуспешная попытка пользователя обратиться к сетевому накопителю).

Программа просмотра событий
Экран 8. Программа просмотра событий

Событие можно привязать к любому типу событий, щелкнув по нему правой кнопкой мыши в программе просмотра событий и выбрав пункт Attach Task To This Event в раскрывающемся меню. В результате запускается мастер Create Basic Task Wizard, в котором можно настроить параметры задачи.

Тонкая настройка задачи, запускаемой событием

Со времени выпуска Windows Vista планировщик задач располагает новыми интерфейсами для программистов, работающих на языке C++, объектами сценариев для разработчиков VBScript и схемой для определения задач в XML. Таким образом достигается непревзойденная гибкость как при создании, так и при тонкой настройке задач.

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

* 4730 — удалена глобальная группа безопасности;

* 4731 — создана защищенная глобальная группа безопасности;

* 4732 — добавлен член в локальную группу безопасности;

* 4733 — удален член из локальной группы безопасности;

* 4734 — удалена локальная группа безопасности;

* 4735 — изменена локальная группа безопасности;

* 4737 — изменена глобальная группа безопасности.

Откройте мастер создания простой задачи, а затем выполните следующие шаги для планирования задач.

1. Выберите When a specific event is logged («При записи определенного события в журнал») на экране Task Trigger.

2. Код 4732 идентифицирует добавление члена в локальную группу securityenabled. Введите этот код в поле Event ID на экране Specific Event Is Logged, как показано на экране 9.

3. Чтобы найти журнал и источник для события, откройте программу просмотра событий; на левой панели выберите Windows Logs, Security и откройте диалоговое окно Properties. На вкладке General вы увидите поля Log Name и Source. Последнее может быть сокращено, но если разместить указатель мыши над именем, выводится подсказка с полным текстом, как показано на экране 10.

4. На экране Action выберите Display a message (вывод сообщения).

5. Нажмите кнопку Finish, чтобы создать новую задачу.

Подробности триггера зарегистрированного события
Экран 9. Подробности триггера зарегистрированного события
Определение журнала и источника
Экран 10. Определение журнала и источника

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

1. Дважды щелкните новую задачу в списке Task Scheduler Active Tasks, как показано на экране 11.

2. Щелкните Export в списке Selected Item и сохраните XML-файл в любом месте по своему выбору.

3. Откройте исходный текст XML в привычном текстовом редакторе. Его вид будет похож на приведенный в листинге. Добавьте программный код TargetUserName в раздел EventTrigger, как показано во фрагменте A.

Задача Local Group Added
Экран 11. Задача Local Group Added

После этого запланированная задача будет отвечать на событие 4732, только если TargetUserName (то есть имя локальной группы безопасности) представляет собой SECURE NETWORKS.

Можно также отфильтровать определенных пользователей с помощью MemberName вместо TargetUserName. Дополнительные подробности о функционировании фильтра можно увидеть в XML-представлении события. Просто откройте свойства события, перейдите на вкладку Details и выберите режим XML View. Полный исходный текст показан на экране 12. Данные из этого события можно использовать в действии. Чтобы параметр EventData мог передать MemberName в действие, необходимо добавить программный код во фрагменте B листинга в экспортированный XML-файл, непосредственно перед строкой .

Свойства события в XML-представлении
Экран 12. Свойства события в XML-представлении

Теперь можно использовать переменную $(MemberName) в действии. В следующем исходном тексте эта переменная показана в поле сообщения:


Local Group Added
The $(MemberName) local group has been added.

После того, как измененный XML-код будет сохранен, удалите исходную задачу из планировщика задач. Теперь можно импортировать измененный XML-код. В правой области окна планировщика задач, в разделе Actions, нажмите кнопку Import Task. Подготовленная задача готова к применению.

Широчайшие возможности

Благодаря манипуляциям с триггерами, действиями и событиями планировщик задач Server 2008 обеспечивает очень гибкое управление большинством повседневных задач, в том числе и самыми сложными. Кроме того, большинство свойств доступно с помощью мастера планирования заданий. Более тонкое управление осуществляется посредством API-интерфейса Scheduled Task и XML-схемы.

Листинг. XML-код для запуска события по определенному имени группы безопасности и передачи MemberName в Task Action


true







# BEGIN CALLOUT B

Event/EventData/Data[@Name='MemberName']

# END CALLOUT B

  • Планшеты асус на windows 10
  • Планировщик заданий windows 10 не запускает задание
  • Планшетный сканер для windows 10
  • Планировщик заданий windows 10 что можно отключить
  • Планшетный компьютер pipo x9s windows 10