Voorbeeld van aanmeldingstrigger (scripting)
In dit scriptvoorbeeld ziet u hoe u een taak maakt die is gepland om Kladblok uit te voeren wanneer een gebruiker zich aanmeldt. De taak bevat een aanmeldingstrigger die een begingrens aangeeft voor de taak die moet worden gestart en een gebruikers-id waarmee de gebruiker wordt opgegeven. De taak wordt geregistreerd met behulp van de groep Administrators als beveiligingscontext om de taak uit te voeren.
In de volgende procedure wordt beschreven hoe u een uitvoerbaar bestand zoals Kladblok plant om te starten wanneer een opgegeven gebruiker zich aanmeldt.
Kladblok plannen om te beginnen wanneer een gebruiker zich aanmeldt bij
- Maak een TaskService-object. Met dit object kunt u de taak in een opgegeven map maken.
- 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.
- 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.
- Maak een aanmeldingstrigger met behulp van de eigenschap TaskDefinition.Triggers. Deze eigenschap biedt toegang tot het object TriggerCollection. Gebruik de methode TriggerCollection.Create (waarbij u het type trigger opgeeft dat u wilt maken) om een aanmeldingstrigger te maken. Wanneer u de trigger maakt, stelt u de begingrens en de eindgrens van de trigger in om de trigger te activeren en deactiveren. U moet de eigenschap UserId instellen voor de trigger, zodat de acties van de taak worden gepland om uit te voeren wanneer de opgegeven gebruiker zich aanmeldt na de begingrens.
- Maak een actie voor de taak die moet worden uitgevoerd met behulp van de eigenschap TaskDefinition.Actions. Deze eigenschap biedt toegang tot het object ActionCollection. Gebruik de methode ActionCollection.Create om het type actie op te geven dat u wilt maken. In dit voorbeeld wordt een ExecAction--object gebruikt. Dit object vertegenwoordigt een actie waarmee een uitvoerbaar bestand wordt gestart.
- Registreer de taak met behulp van de methode TaskFolder.RegisterTaskDefinition. In dit voorbeeld wordt de taak geregistreerd, zodat de groep Administrators wordt gebruikt als beveiligingscontext om de taak uit te voeren.
In het volgende VBScript-voorbeeld ziet u hoe u een taak plant om Kladblok uit te voeren wanneer een gebruiker zich aanmeldt.
'---------------------------------------------------------
' This sample schedules a task to start notepad.exe when a user logs on.
'---------------------------------------------------------
' A constant that specifies a logon trigger.
const TriggerTypeLogon = 9
' 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 a " & _
"specified user logs on."
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 logon trigger.
Dim triggers
Set triggers = taskDefinition.Triggers
Dim trigger
Set trigger = triggers.Create(TriggerTypeLogon)
' 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 = "LogonTriggerId"
trigger.UserId = "DOMAIN\UserName" ' Must be a valid user account
'***********************************************************
' 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 Logon Trigger", taskDefinition, createOrUpdateTask, _
"Builtin\Administrators", , 4)
WScript.Echo "Task submitted."
Verwante onderwerpen