Створення запланованого завдання в Windows, яке буде працювати з інтервалом нескінченно


16

Я, здається, трохи заплутався в Task Schedulerналаштуваннях тригера. (Я перебуваю на веб-сервері Windows Server 2008)

Я хочу створити завдання, яке буде виконуватись кожні 5 хвилин, будь то користувач увійшов чи ні, і це повертається відразу до його графіку, коли комп'ютер перезавантажується.

Отже, я все це налаштував як потрібно, але зауважте, що для мого тригера є два варіанти:

  1. Почніть завдання At Startup(а потім використовуйте Advanced Settingsдля повторення кожні п’ять хвилин нескінченно)
  2. Почніть завдання At task creation/modification(а потім використовуйте Advanced Settingsдля повторення кожні п’ять хвилин нескінченно)

Якщо я виберу (1), він не запуститься відразу. Мені доведеться перезавантажити, що я не хочу робити.

Якщо я виберу (2), він запуститься відразу, але не буде після наступного перезавантаження.

Якщо я створити тригери для обох (1) і (2), це може спрацювати, але тоді, коли я коли-небудь зміню завдання в майбутньому, чи будуть два екземпляри його запуску, коли обидва тригери будуть запущені? Або це скасує 5-хвилинні інтервали, що почалися з моменту запуску? Я не хочу, щоб це сталося.

Якісь ідеї?

Відповіді:


25

Я б спробував це так:

  1. Додавання тригера: введіть тут опис зображення обов'язково встановіть поточну дату та 00:00:00 як час початку
  2. Переконайтеся, що завдання виконується якомога швидше, якщо старт був пропущений: введіть тут опис зображення

5
Дякую. "Запустити якомога швидше, якщо старт був пропущений" було ключовим.
Росс

2

Ось як створити таке заплановане завдання за допомогою PowerShell:

$executable = "foo.exe"
$taskName = "My Task"
$action = New-ScheduledTaskAction -execute $executable
$trigger = New-ScheduledTaskTrigger -Once -At (Get-Date).Date
$settings = New-ScheduledTaskSettingsSet -StartWhenAvailable
Register-ScheduledTask -TaskName $taskName -Trigger $trigger -Action $action -Setting $settings -description $description -User "NT AUTHORITY\SYSTEM" -RunLevel 1
$trigger.RepetitionInterval = (New-TimeSpan -Minutes 5)
$trigger.RepetitionDuration = (New-TimeSpan -Days 1000)
Set-ScheduledTask $taskName -Trigger $trigger

Привіт, я думаю, що це працює лише в тому випадку, якщо Тривалість нескінченна - ([часовий проміжок часу] :: MaxValue)
Майкл
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.