Dela via


Exempel på registreringsutlösare (skript)

Det här skriptexemplet visar hur du skapar en uppgift som är schemalagd att köra Anteckningar när en uppgift registreras. Uppgiften innehåller en registreringsutlösare som anger en startgräns och en slutgräns för uppgiften. Startgränsen anger när utlösaren aktiveras. Uppgiften innehåller också en åtgärd som anger vilken uppgift som ska köra Anteckningar.

Not

När en uppgift med en registreringsutlösare uppdateras körs aktiviteten när uppdateringen har inträffat.

 

Följande procedur beskriver hur du schemalägger en körbar fil, till exempel Anteckningar, för att starta när en uppgift registreras.

Så här schemalägger du Anteckningar så att det startar när en aktivitet registreras

  1. Skapa ett TaskService- objekt. Med det här objektet kan du skapa uppgiften i en angiven mapp.
  2. Hämta en uppgiftsmapp och skapa en uppgift. Använd metoden TaskService.GetFolder för att hämta mappen där uppgiften lagras och metoden TaskService.NewTask för att skapa TaskDefinition objekt som representerar aktiviteten.
  3. Definiera information om aktiviteten med hjälp av objektet TaskDefinition. Använd egenskapen TaskDefinition.Settings för att definiera de inställningar som avgör hur tjänsten Schemaläggaren utför uppgiften och egenskapen TaskDefinition.RegistrationInfo för att definiera den information som beskriver uppgiften.
  4. Skapa en registreringsutlösare med egenskapen TaskDefinition.Triggers. Den här egenskapen ger åtkomst till objektet TriggerCollection. Använd metoden TriggerCollection.Create (ange vilken typ av utlösare du vill skapa) för att skapa en registreringsutlösare.
  5. Skapa en åtgärd för uppgiften som ska köras med hjälp av egenskapen TaskDefinition.Actions. Den här egenskapen ger åtkomst till objektet ActionCollection. Använd metoden ActionCollection.Create för att ange vilken typ av åtgärd du vill skapa. I det här exemplet används ett ExecAction- objekt som representerar en åtgärd som startar en körbar fil.
  6. Registrera uppgiften med hjälp av metoden TaskFolder.RegisterTaskDefinition.

I följande VBScript-exempel visas hur du skapar en aktivitet som schemalägger Anteckningar som ska köras när aktiviteten registreras.

'---------------------------------------------------------
' This sample schedules a task to start notepad.exe when
' the task is registered.
'---------------------------------------------------------

' A constant that specifies a registration trigger.
const TriggerTypeRegistration = 7
' A constant that specifies an executable action.
const ActionTypeExecutable = 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 when the task is registered."
regInfo.Author = "Author Name"

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

'********************************************************
' Create a registration trigger.
Dim triggers
Set triggers = taskDefinition.Triggers

Dim trigger
Set trigger = triggers.Create(TriggerTypeRegistration)

trigger.ExecutionTimeLimit = "PT5M"    'Five minutes
trigger.Id = "RegistrationTriggerId"   

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

' Add an action to the task. The action executes Notepad.
Dim Action
Set Action = taskDefinition.Actions.Create( ActionTypeExecutable )
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 Registration Trigger", taskDefinition, 6, , , 3)

WScript.Echo "Task submitted."

Använda schemaläggarens