Membuat tugas terjadwal di Windows yang akan berjalan pada interval waktu yang tidak terbatas

16

Saya sepertinya agak bingung dengan Task Schedulerpengaturan pemicu. (Saya di Windows Server 2008 Web)

Saya ingin membuat tugas yang akan berjalan setiap 5 menit, apakah pengguna masuk atau tidak, dan itu kembali ke jadwal ketika komputer reboot.

Jadi, saya telah mengatur semuanya seperti yang diperlukan, tetapi perhatikan ada dua opsi untuk Pemicu saya:

  1. Mulailah tugas At Startup(dan kemudian gunakan Advanced Settingsuntuk mengulang setiap lima menit tanpa batas)
  2. Mulailah tugas At task creation/modification(dan kemudian gunakan Advanced Settingsuntuk mengulang setiap lima menit tanpa batas)

Jika saya memilih (1), itu tidak akan segera berjalan. Saya harus reboot, yang tidak ingin saya lakukan.

Jika saya memilih (2), itu akan segera berjalan, tetapi tidak akan setelah reboot berikutnya.

Jika saya membuat pemicu untuk kedua (1) dan (2), mungkin berhasil, tetapi kemudian ketika saya pernah memodifikasi tugas di masa depan, akankah ada dua contoh saat pemicu dijalankan karena kedua pemicu dipicu? Atau akankah ia menimpa interval 5 menit yang telah dimulai sejak startup? Saya juga tidak ingin terjadi.

Ada ide?

Ross
sumber

Jawaban:

25

Saya akan mencobanya seperti ini:

  1. Tambahkan pemicu: masukkan deskripsi gambar di sini Pastikan untuk menetapkan tanggal saat ini dan 00:00:00 sebagai waktu mulai
  2. Pastikan tugas dijalankan sesegera mungkin jika permulaannya tidak terjawab: masukkan deskripsi gambar di sini
Der Hochstapler
sumber
5
Terima kasih. "Jalankan sesegera mungkin jika start tidak terjawab" adalah kuncinya.
Ross
2

Berikut cara membuat tugas terjadwal tersebut menggunakan 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
mbp
sumber
Halo saya pikir ini hanya berfungsi jika Durasi tidak terbatas - ([rentang waktu] :: MaxValue)
Michael