Windows'ta süresiz olarak çalışacak zamanlanmış bir görev oluşturma


16

Task SchedulerTetikleyici ayarları biraz karışıyor gibi görünüyor . (Windows Server 2008 Web'deyim)

Bir kullanıcı oturum açmış olsun veya olmasın her 5 dakikada bir çalışacak bir görev oluşturmak istiyorum ve bilgisayar yeniden başlatıldığında programa geri dönüyor.

Ve böylece, hepsini gerektiği gibi ayarladım, ancak Tetikleyicim için iki seçenek olduğuna dikkat edin:

  1. Göreve başlayın At Startup(ve daha sonra Advanced Settingsher beş dakikada bir tekrarlamak için kullanın )
  2. Göreve başlayın At task creation/modification(ve daha sonra Advanced Settingsher beş dakikada bir tekrarlamak için kullanın )

(1) 'i seçersem hemen çalışmaz. Yeniden başlatmak zorunda kalacağım ki bunu yapmak istemiyorum.

(2) 'yi seçersem hemen çalışır, ancak bir sonraki yeniden başlatmanın ardından olmaz.

Hem (1) hem de (2) için tetikleyiciler oluşturursam, işe yarayabilir, ancak daha sonra görevi gelecekte değiştirdiğimde, her iki tetikleyici de tetiklendiği için çalışan iki örneği olacak mı? Yoksa başlangıçtan bu yana başlayan 5 dakikalık aralıkları geçersiz kılacak mı? İkisinin de olmasını istemiyorum.

Herhangi bir fikir?

Yanıtlar:


25

Ben böyle denemek istiyorum:

  1. Bir tetikleyici ekleyin: resim açıklamasını buraya girin Geçerli tarihi ve başlangıç ​​saati olarak 00:00:00 değerini ayarladığınızdan emin olun.
  2. Başlangıç ​​kaçırıldıysa görevin en kısa zamanda çalıştırıldığından emin olun: resim açıklamasını buraya girin

5
Teşekkürler. "Başlangıç ​​kaçırıldıysa mümkün olan en kısa sürede çalıştırın" anahtardı.
Ross

2

PowerShell kullanarak bu tür zamanlanmış görevleri nasıl oluşturacağınız aşağıda açıklanmıştır:

$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

Hullo Bence bu sadece Süre sonsuz ise (- [zaman aralığı] :: MaxValue)
Michael
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.