TaskFolder.RegisterTaskDefinition 方法

若要編寫腳本, (使用 TaskDefinition 物件定義工作,在指定的位置建立) 工作。

語法

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

參數

路徑 [in]

工作的名稱。 如果此值為 Nothing,工作將會在根工作資料夾中註冊,而工作名稱將是工作排程器服務所建立的 GUID 值。

工作名稱不能以空白字元開頭或結尾。 '.' 字元無法用來指定目前的工作資料夾和 '.'。' 字元無法用來指定路徑中的父工作資料夾。

定義 [in]

已註冊之工作的定義。

旗標 [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.RegisterTaskDefinition 函式以更新工作時,工作排程器服務不會新增新內容主體的 ACE,也不會從舊的內容主體中移除 ACE。
TASK_IGNORE_REGISTRATION_TRIGGERS
0x20
工作排程器會建立工作,但會忽略工作中註冊觸發程式。 藉由忽略註冊觸發程式,除非以時間為基礎的觸發程式導致工作在註冊時執行,否則工作將不會執行。

userId [in]

用來註冊工作的使用者認證。 如果存在,這些認證會優先于 定義 參數所指向之工作定義物件中指定的認證。

注意

如果工作定義為工作排程器 1.0 工作,則請勿在此 userId 參數中使用組名 (而非特定使用者名稱) 。 當工作設定中的 Compatibility 屬性設定為 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) (存取控制清單,以允許或拒絕特定使用者和群組存取工作。

注意

如果本機系統帳戶拒絕存取工作,工作排程器服務可能會產生非預期的結果。

工作 [out]

代表新工作的 RegisteredTask 物件。

傳回值

這個方法不會傳回值。

備註

對於包含訊息方塊動作的工作,如果工作已啟用且工作具有互動式登入類型,則會顯示訊息方塊。 若要將工作登入類型設定為互動式,請在工作主體的LogonType屬性或 TaskFolder.RegisterTaskDefinition 的 logonType 參數中指定 3 (TASK_LOGON_INTERACTIVE_TOKEN) 或 4 (TASK_LOGON_GROUP) 。RegisterTask 或 TaskFolder.RegisterTaskDefinitionlogonType參數。

只有 Administrators 群組的成員才能建立具有開機觸發程式的工作。

您可以成功向userId參數中指定的群組註冊工作,以及 3 個 (TASK_LOGON_INTERACTIVE_TOKEN) TaskFolder.RegisterTask 或 TaskFolder.RegisterTaskDefinitionlogonType參數中指定的群組,但工作將不會執行。

規格需求

需求
最低支援的用戶端
Windows Vista [僅限傳統型應用程式]
最低支援的伺服器
Windows Server 2008 [僅限傳統型應用程式]
類型程式庫
Taskschd.tlb
DLL
Taskschd.dll

另請參閱

工作排程器

RegisteredTask

TaskFolder