Příklad spouštěcího triggeru (skriptování)
Tento příklad skriptování ukazuje, jak vytvořit úlohu, která je naplánována ke spuštění Poznámkového bloku při spuštění systému. Úloha obsahuje spouštěcí aktivační událost, která určuje hranici spuštění a prodlevu spuštění úkolu po spuštění systému. Úkol obsahuje také akci, která určuje úkol ke spuštění Poznámkového bloku. Úloha je zaregistrovaná pomocí účtu místní služby jako kontext zabezpečení ke spuštění úlohy.
Následující postup popisuje, jak naplánovat spuštění spustitelného souboru, jako je Poznámkový blok při spuštění systému.
Naplánování spuštění Poznámkového bloku při spuštění systému
- Vytvoření objektu TaskService Tento objekt umožňuje vytvořit úlohu v zadané složce.
- Získejte složku úkolu a vytvořte úkol. Pomocí metody TaskService.GetFolder získejte složku, ve které je úloha uložena, a metodu TaskService.NewTask vytvořit TaskDefinition objekt, který představuje úlohu.
- Definujte informace o úkolu pomocí TaskDefinition objektu. Pomocí vlastnosti TaskDefinition.Settings definujte nastavení, která určují, jak služba Plánovač úloh provádí úlohu, a vlastnost TaskDefinition.RegistrationInfo definovat informace, které popisují úlohu.
- Vytvořte trigger přihlášení pomocí vlastnosti TaskDefinition.Triggers. Tato vlastnost poskytuje přístup k TriggerCollection objektu. K vytvoření spouštěcí aktivační události použijte metodu TriggerCollection.Create (určující typ triggeru, který chcete vytvořit). Při vytváření triggeru nastavte startboundary a EndBoundary vlastnosti triggeru, aby trigger aktivoval a deaktivoval. Můžete také zadat hodnotu vlastnosti Delay triggeru spuštění.
- Pomocí vlastnosti TaskDefinition.Actions vytvořte akci pro úlohu, která se má provést. Tato vlastnost poskytuje přístup k ActionCollection objektu. Pomocí ActionCollection.Create metoda zadejte typ akce, kterou chcete vytvořit. Tento příklad používá objekt ExecAction, který představuje akci, která spouští spustitelný soubor.
- Zaregistrujte úlohu pomocí metody TaskFolder.RegisterTaskDefinition. Úloha je zaregistrovaná pomocí účtu místní služby jako kontext zabezpečení ke spuštění úlohy.
Následující příklad jazyka VBScript ukazuje, jak naplánovat úlohu spuštění Poznámkového bloku 30 sekund po spuštění systému.
'---------------------------------------------------------
' This sample schedules a task to start notepad.exe 30 seconds after
' the system is booted.
'---------------------------------------------------------
' A constant that specifies a boot trigger.
const TriggerTypeBoot = 8
' 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 = "Task will execute Notepad when " & _
"the computer is booted."
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 boot trigger.
Dim triggers
Set triggers = taskDefinition.Triggers
Dim trigger
Set trigger = triggers.Create(TriggerTypeBoot)
' Trigger variables that define when the trigger is active.
Dim startTime, endTime
startTime = "2006-05-02T10:49:02"
endTime = "2006-05-02T10:52:02"
WScript.Echo "startTime :" & startTime
WScript.Echo "endTime :" & endTime
trigger.StartBoundary = startTime
trigger.EndBoundary = endTime
trigger.ExecutionTimeLimit = "PT5M" ' Five minutes
trigger.Id = "BootTriggerId"
trigger.Delay = "PT30S" ' 30 Seconds
'***********************************************************
' 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.
const createOrUpdateTask = 6
call rootFolder.RegisterTaskDefinition( _
"Test Boot Trigger", taskDefinition, createOrUpdateTask, _
"Local Service", , 5)
WScript.Echo "Task submitted."
Související témata
-
použití plánovače úloh