Sdílet prostřednictvím


Příklad triggeru přihlášení (skriptování)

Tento příklad skriptování ukazuje, jak vytvořit úlohu, která je naplánovaná ke spuštění Poznámkového bloku, když se uživatel přihlásí. Úkol obsahuje aktivační událost přihlášení, která určuje hranici spuštění úkolu, a identifikátor uživatele, který určuje uživatele. Úloha je zaregistrovaná pomocí skupiny Administrators 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, když se zadaný uživatel přihlásí.

Naplánování spuštění Poznámkového bloku, když se uživatel přihlásí k

  1. Vytvoření objektu TaskService Tento objekt umožňuje vytvořit úlohu v zadané složce.
  2. 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.
  3. 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.
  4. Vytvořte trigger přihlášení pomocí vlastnosti TaskDefinition.Triggers. Tato vlastnost poskytuje přístup k TriggerCollection objektu. K vytvoření triggeru přihlášení použijte metodu TriggerCollection.Create (určující typ triggeru, který chcete vytvořit). Při vytváření triggeru nastavte počáteční a koncovou hranici triggeru, aby se aktivační událost aktivovala a deaktivovala. Je nutné nastavit vlastnost UserId triggeru tak, aby akce úkolu byly naplánovány tak, aby se spustily, když se zadaný uživatel přihlásí po hranici zahájení.
  5. 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.
  6. Zaregistrujte úlohu pomocí metody TaskFolder.RegisterTaskDefinition. Tento příklad zaregistruje úlohu tak, aby ke spuštění úlohy používala skupinu Administrators jako kontext zabezpečení.

Následující příklad jazyka VBScript ukazuje, jak naplánovat úlohu spuštění Poznámkového bloku, když se uživatel přihlásí.

'---------------------------------------------------------
' 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."

použití plánovače úloh