Delen via


Dagelijks triggervoorbeeld (scripting)

In dit scriptvoorbeeld ziet u hoe u elke dag een taak maakt waarop Kladblok om 8:00 uur wordt uitgevoerd. De taak bevat een dagelijkse trigger die een begingrens aangeeft om de trigger te activeren en het tijdstip op te geven waarop de taak wordt uitgevoerd, een triggerinterval om op te geven dat de taak elke dag wordt uitgevoerd en een eindgrens om de trigger te deactiveren. In het voorbeeld ziet u ook hoe u een herhalingspatroon instelt voor de trigger om de taak te herhalen. De taak bevat ook een uitvoerbare actie waarmee Kladblok wordt uitgevoerd.

In de volgende procedure wordt beschreven hoe u elke dag een taak plant om een uitvoerbaar bestand om 8:00 uur te starten. (Deze stappen komen overeen met de codeopmerkingen die zijn opgenomen in de voorbeeldcode.)

Om Kladblok te plannen om elke dag om 8:00 uur te beginnen

  1. Maak een TaskService-object. Met dit object kunt u de taak in een opgegeven map maken.
  2. Haal een taakmap op en maak een taak. Gebruik de methode TaskService.GetFolder om de map op te halen waarin de taak is opgeslagen en de methode TaskService.NewTask om het TaskDefinition--object te maken dat de taak vertegenwoordigt.
  3. Definieer informatie over de taak met behulp van het TaskDefinition--object. Gebruik de eigenschap TaskDefinition.Settings om de instellingen te definiƫren die bepalen hoe de Task Scheduler-service de taak uitvoert en de eigenschap TaskDefinition.RegistrationInfo om de informatie te definiƫren die de taak beschrijft.
  4. Maak een dagelijkse trigger met behulp van de eigenschap TaskDefinition.Triggers. Deze eigenschap biedt toegang tot het TriggerCollection-object dat wordt gebruikt om de trigger te maken. Gebruik de methode TriggerCollection.Create (het type trigger dat u wilt maken) om een dagelijkse trigger te maken. Wanneer u de trigger maakt, stelt u de begingrens in om de trigger te activeren en geeft u het tijdstip op waarop de taak wordt uitgevoerd, het interval tussen de dagen en de eindgrens om de trigger te deactiveren. In het onderstaande voorbeeld ziet u hoe u een herhalingspatroon instelt voor de trigger om de taak te herhalen.
  5. Maak een actie voor de taak die moet worden uitgevoerd met behulp van de eigenschap TaskDefinition.Actions. Deze eigenschap biedt toegang tot het ActionCollection--object dat wordt gebruikt om de actie te maken. Gebruik de methode ActionCollection.Create om het type actie op te geven dat u wilt maken. In dit voorbeeld wordt een ExecAction--object gebruikt, dat een actie vertegenwoordigt waarmee een opdrachtregelbewerking wordt uitgevoerd.
  6. Registreer de taak met behulp van de methode TaskFolder.RegisterTaskDefinition. In dit voorbeeld start de taak Kladblok om 8:00 uur elke dag.

In het volgende VBScript-voorbeeld ziet u hoe u elke dag om 8:00 uur een taak kunt plannen om Kladblok uit te voeren.

'------------------------------------------------------------------
' This sample schedules a task to start on a daily basis.
'------------------------------------------------------------------

' A constant that specifies a daily trigger.
const TriggerTypeDaily = 2
' A constant that specifies an executable action.
const ActionTypeExec = 0

'********************************************************
' Create the TaskService object.
Set service = CreateObject("Schedule.Service")
call service.Connect()

'********************************************************
' Get a folder to create a task definition in. 
Dim rootFolder
Set rootFolder = service.GetFolder("\")

' The taskDefinition variable is the TaskDefinition object.
Dim taskDefinition
' The flags parameter is 0 because it is not supported.
Set taskDefinition = service.NewTask(0) 

'********************************************************
' Define information about the task.

' Set the registration info for the task by 
' creating the RegistrationInfo object.
Dim regInfo
Set regInfo = taskDefinition.RegistrationInfo
regInfo.Description = "Start notepad at 8:00AM daily"
regInfo.Author = "Administrator"

' Set the task setting info for the Task Scheduler by
' creating a TaskSettings object.
Dim settings
Set settings = taskDefinition.Settings
settings.Enabled = True
settings.StartWhenAvailable = True
settings.Hidden = False

'********************************************************
' Create a daily trigger. Note that the start boundary 
' specifies the time of day that the task starts and the 
' interval specifies what days the task is run.
Dim triggers
Set triggers = taskDefinition.Triggers

Dim trigger
Set trigger = triggers.Create(TriggerTypeDaily)

' Trigger variables that define when the trigger is active 
' and the time of day that the task is run. The format of 
' this time is YYYY-MM-DDTHH:MM:SS
Dim startTime, endTime

Dim time
startTime = "2006-05-02T08:00:00"  'Task runs at 8:00 AM
endTime = "2015-05-02T08:00:00"

WScript.Echo "startTime :" & startTime
WScript.Echo "endTime :" & endTime

trigger.StartBoundary = startTime
trigger.EndBoundary = endTime
trigger.DaysInterval = 1    'Task runs every day.
trigger.Id = "DailyTriggerId"
trigger.Enabled = True

' Set the task repetition pattern for the task.
' This will repeat the task 5 times.
Dim repetitionPattern
Set repetitionPattern = trigger.Repetition
repetitionPattern.Duration = "PT4M"
repetitionPattern.Interval = "PT1M"

'***********************************************************
' Create the action for the task to execute.

' Add an action to the task to run notepad.exe.
Dim Action
Set Action = taskDefinition.Actions.Create( ActionTypeExec )
Action.Path = "C:\Windows\System32\notepad.exe"

WScript.Echo "Task definition created. About to submit the task..."

'***********************************************************
' Register (create) the task.

call rootFolder.RegisterTaskDefinition( _
    "Test Daily Trigger", taskDefinition, 6, , , 3)

WScript.Echo "Task submitted."

De taakplanner gebruiken