Creazione di un'attività pianificata in Windows che verrà eseguita a intervalli indefinitamente


16

Mi sembra di essere leggermente confuso dalle Task Schedulerimpostazioni del trigger. (Sono su Windows Server 2008 Web)

Voglio creare un'attività che verrà eseguita ogni 5 minuti, indipendentemente dal fatto che un utente abbia effettuato l'accesso o meno, e che ritorni nella sua pianificazione al riavvio del computer.

E così, ho impostato tutto come richiesto, ma noti che ci sono due opzioni per il mio trigger:

  1. Inizia l'attività At Startup(e poi usa Advanced Settingsper ripetere ogni cinque minuti a tempo indeterminato)
  2. Inizia l'attività At task creation/modification(e poi usa Advanced Settingsper ripetere ogni cinque minuti a tempo indeterminato)

Se scelgo (1), non scapperà immediatamente. Dovrò riavviare, cosa che non voglio fare.

Se scelgo (2), verrà eseguito immediatamente, ma non dopo il riavvio successivo.

Se creo i trigger per entrambi (1) e (2), potrebbe funzionare, ma quando in futuro modificherò l'attività, ci saranno due istanze in esecuzione mentre entrambi i trigger vengono attivati? O sovrascriverà gli intervalli di 5 minuti che sono iniziati dall'avvio? Non voglio neanche succedere.

Qualche idea?

Risposte:


25

Lo proverei così:

  1. Aggiungi un trigger: inserisci qui la descrizione dell'immagine assicurati di impostare la data corrente e 00:00:00 come ora di inizio
  2. Assicurati che l'attività venga eseguita il prima possibile in caso di mancato avvio: inserisci qui la descrizione dell'immagine

5
Grazie. "Esegui il prima possibile in caso di mancata partenza" è stata la chiave.
Ross,

2

Ecco come creare tale attività pianificata usando 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

Salve, penso che questo funzioni solo se Durata è infinita - ([timespan] :: MaxValue)
Michael
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.