TaskFolder.RegisterTask 方法

对于脚本编写,注册 (在 文件夹中创建) 使用 XML 定义任务的新任务。

语法

TaskFolder.RegisterTask( _
  ByVal path, _
  ByVal xmlText, _
  ByVal flags, _
  ByVal userId, _
  ByVal password, _
  ByVal logonType, _
  [ ByVal sddl ], _
  ByRef pTask _
)

参数

path [in]

任务的名称。 如果此值为 Nothing,则任务将在根任务文件夹中注册,任务名称将是由任务计划程序服务创建的 GUID 值。

任务名称不能以空格字符开头或结尾。 “.”字符不能用于指定当前任务文件夹和“..”。 字符不能用于指定路径中的父任务文件夹。

xmlText [in]

任务的 XML 格式说明。

以下主题包含使用 XML 定义的任务。

flags [in]

TASK_CREATION常量。

含义
TASK_VALIDATE_ONLY
0x1
任务计划程序检查描述任务但不注册任务的 XML 的语法。 此常量不能与 TASK_CREATETASK_UPDATETASK_CREATE_OR_UPDATE 值组合使用。
TASK_CREATE
0x2
任务计划程序将任务注册为新任务。
TASK_UPDATE
0x4
任务计划程序将任务注册为现有任务的更新版本。 更新具有注册触发器的任务时,将在更新发生后执行该任务。
TASK_CREATE_OR_UPDATE
0x6
任务计划程序将任务注册为新任务或更新版本(如果该任务已存在)。 等效于 TASK_CREATE |TASK_UPDATE。
TASK_DISABLE
0x8
任务计划程序禁用现有任务。
TASK_DONT_ADD_PRINCIPAL_ACE
0x10
阻止任务计划程序为上下文主体添加允许访问控制项 (ACE) 。 使用此标志调用 TaskFolder.RegisterTask 函数以更新任务时,任务计划程序服务不会为新的上下文主体添加 ACE,也不会从旧上下文主体中删除 ACE。
TASK_IGNORE_REGISTRATION_TRIGGERS
0x20
任务计划程序创建任务,但忽略任务中的注册触发器。 通过忽略注册触发器,任务在注册时不会执行,除非基于时间的触发器导致它在注册时执行。

userId [in]

用于注册任务的用户凭据。

注意

如果任务定义为任务计划程序 1.0 任务,则不要在此 userId 参数中使用组名称 (而不是特定用户名) 。 当任务 XML 中 Task 元素的版本属性设置为 1.1 时,任务定义为任务计划程序 1.0 任务。

password [in]

用于注册任务的 userId 的密码。 使用TASK_LOGON_SERVICE_ACCOUNT登录类型时,密码必须为空 VARIANT 值,例如 VT_NULLVT_EMPTY

logonType [in]

定义用于运行已注册任务的登录技术。

含义
TASK_LOGON_NONE
0
未指定登录方法。 用于非 NT 凭据。
TASK_LOGON_PASSWORD
1
使用密码登录用户。 必须在注册时提供密码。
TASK_LOGON_S4U
2
使用现有交互式令牌运行任务。 用户必须使用服务登录才能 (S4U) 登录。 使用 S4U 登录时,系统不会存储任何密码,并且无法访问网络或加密文件。
TASK_LOGON_INTERACTIVE_TOKEN
3
用户必须已登录。 该任务将仅在现有交互式会话中运行。
TASK_LOGON_GROUP
4
组激活。 groupId 字段指定组。
TASK_LOGON_SERVICE_ACCOUNT
5
指示使用本地系统、本地服务或网络服务帐户作为安全上下文来运行任务。
TASK_LOGON_INTERACTIVE_TOKEN_OR_PASSWORD
6
首先使用交互式令牌。 如果用户未登录 () 没有可用的交互式令牌,则使用密码。 注册任务时必须指定密码。 不建议将此标志用于新任务,因为它不如TASK_LOGON_PASSWORD可靠。

sddl [in, optional]

与已注册的任务关联的安全描述符。 可以在任务的安全描述符中指定访问控制列表 (ACL) ,以便允许或拒绝某些用户和组对任务的访问权限。

注意

如果拒绝本地系统帐户访问任务,则任务计划程序服务可能会产生意外结果。

pTask [out]

表示新任务的 RegisteredTask 对象。

返回值

此方法不返回值。

备注

对于包含消息框操作的任务,如果激活任务并且任务具有交互式登录类型,将显示消息框。 若要将任务登录类型设置为 interactive,请在任务主体的 LogonType 属性或 TaskFolder.RegisterTask 或 TaskFolder.RegisterTaskDefinitionlogonType 参数中,指定 3 (TASK_LOGON_INTERACTIVE_TOKEN) 或 4 () TASK_LOGON_GROUP

只有管理员组的成员才能使用启动触发器创建任务。

可以使用 userId 参数中指定的组和 3 (成功注册任务,TASK_LOGON_INTERACTIVE_TOKENtaskFolder.RegisterTask 或 TaskFolder.RegisterTaskDefinitionlogonType 参数中指定的) ,但该任务不会运行。

要求

要求
最低受支持的客户端
Windows Vista [仅限桌面应用]
最低受支持的服务器
Windows Server 2008 [仅限桌面应用]
类型库
Taskschd.tlb
DLL
Taskschd.dll

另请参阅

任务计划程序

RegisteredTask

TaskFolder