TaskFolder.RegisterTaskDefinition method

For scripting, registers (creates) a task in a specified location using the TaskDefinition object to define a task.

Syntax


TaskFolder.RegisterTaskDefinition( _
  ByVal path, _
  ByVal definition, _
  ByVal flags, _
  ByVal userId, _
  ByVal password, _
  ByVal logonType, _
  [ ByVal sddl ], _
  ByRef task _
)

Parameters

path [in]

The name of the task. If this value is Nothing, the task will be registered in the root task folder and the task name will be a GUID value that is created by the Task Scheduler service.

A task name cannot begin or end with a space character. The '.' character cannot be used to specify the current task folder and the '..' characters cannot be used to specify the parent task folder in the path.

definition [in]

The definition of the task that is registered.

flags [in]

A TASK_CREATION constant.

ValueMeaning
TASK_VALIDATE_ONLY
0x1

The Task Scheduler checks the syntax of the XML that describes the task but does not register the task. This constant cannot be combined with the TASK_CREATE, TASK_UPDATE, or TASK_CREATE_OR_UPDATE values.

TASK_CREATE
0x2

The Task Scheduler registers the task as a new task.

TASK_UPDATE
0x4

The Task Scheduler registers the task as an updated version of an existing task. When a task with a registration trigger is updated, the task will execute after the update occurs.

TASK_CREATE_OR_UPDATE
0x6

The Task Scheduler either registers the task as a new task or as an updated version if the task already exists. Equivalent to TASK_CREATE | TASK_UPDATE.

TASK_DISABLE
0x8

The Task Scheduler disables the existing task.

TASK_DONT_ADD_PRINCIPAL_ACE
0x10

The Task Scheduler is prevented from adding the allow access-control entry (ACE) for the context principal. When the TaskFolder.RegisterTaskDefinition function is called with this flag to update a task, the Task Scheduler service does not add the ACE for the new context principal and does not remove the ACE from the old context principal.

TASK_IGNORE_REGISTRATION_TRIGGERS
0x20

The Task Scheduler creates the task, but ignores the registration triggers in the task. By ignoring the registration triggers, the task will not execute when it is registered unless a time-based trigger causes it to execute on registration.

 

userId [in]

The user credentials that are used to register the task. If present, these credentials take priority over the credentials specified in the task definition object pointed to by the definition parameter.

Note  If the task is defined as a Task Scheduler 1.0 task, then do not use a group name (rather than a specific user name) in this userId parameter. A task is defined as a Task Scheduler 1.0 task when the Compatibility property is set to 1 in the task's settings.

password [in]

The password for the userId that is used to register the task. When the TASK_LOGON_SERVICE_ACCOUNT logon type is used, the password must be an empty VARIANT value such as VT_NULL or VT_EMPTY.

logonType [in]

Defines what logon technique is used to run the registered task.

ValueMeaning
TASK_LOGON_NONE
0

The logon method is not specified. Used for non-NT credentials.

TASK_LOGON_PASSWORD
1

Use a password for logging on the user. The password must be supplied at registration time.

TASK_LOGON_S4U
2

Use an existing interactive token to run a task. The user must log on using a service for user (S4U) logon. When an S4U logon is used, no password is stored by the system and there is no access to either the network or to encrypted files.

TASK_LOGON_INTERACTIVE_TOKEN
3

User must already be logged on. The task will be run only in an existing interactive session.

TASK_LOGON_GROUP
4

Group activation. The groupId field specifies the group.

TASK_LOGON_SERVICE_ACCOUNT
5

Indicates that a Local System, Local Service, or Network Service account is being used as a security context to run the task.

TASK_LOGON_INTERACTIVE_TOKEN_OR_PASSWORD
6

First use the interactive token. If the user is not logged on (no interactive token is available), then the password is used. The password must be specified when a task is registered. This flag is not recommended for new tasks because it is less reliable than TASK_LOGON_PASSWORD.

 

sddl [in, optional]

The security descriptor that is associated with the registered task. You can specify the access control list (ACL) in the security descriptor for a task in order to allow or deny certain users and groups access to a task.

Note   If the Local System account is denied access to a task, then the Task Scheduler service can produce unexpected results.

task [out]

A RegisteredTask object that represents the new task.

Return value

This method does not return a value.

Remarks

For a task, that contains a message box action, the message box will be displayed if the task is activated and the task has an interactive logon type. To set the task logon type to interactive, specify 3 (TASK_LOGON_INTERACTIVE_TOKEN) or 4 (TASK_LOGON_GROUP) in the LogonType property of the task principal, or in the logonType parameter of TaskFolder.RegisterTask or TaskFolder.RegisterTaskDefinition.

Only a member of the Administrators group can create a task with a boot trigger.

You can successfully register a task with a group specified in the userId parameter and 3 (TASK_LOGON_INTERACTIVE_TOKEN) specified in the logonType parameter of TaskFolder.RegisterTask or TaskFolder.RegisterTaskDefinition, but the task will not run.

Requirements

Minimum supported client

Windows Vista [desktop apps only]

Minimum supported server

Windows Server 2008 [desktop apps only]

Type library

Taskschd.tlb

DLL

Taskschd.dll

See also

Task Scheduler
RegisteredTask
TaskFolder

 

 

Community Additions

ADD
Show:
© 2014 Microsoft