Share via


TaskFolder.RegisterTaskDefinition メソッド

スクリプトの場合、 TaskDefinition オブジェクトを使用してタスクを定義し、指定した場所にタスクを登録 (作成) します。

構文

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

パラメーター

path [in]

タスクの名前です。 この値が Nothing の場合、タスクはルート タスク フォルダーに登録され、タスク名はタスク スケジューラ サービスによって作成される GUID 値になります。

タスク名をスペース文字で開始または終了することはできません。 '.' 文字を使用して、現在のタスク フォルダーと '..' を指定することはできません。 文字を使用して、パス内の親タスク フォルダーを指定することはできません。

定義 [in]

登録されているタスクの定義。

flags [in]

TASK_CREATION定数。

説明
TASK_VALIDATE_ONLY
0x1
タスク スケジューラは、タスクを記述する XML の構文を確認しますが、タスクは登録しません。 この定数は、TASK_CREATE、TASK_UPDATE、またはTASK_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ログオンの種類を使用する場合、パスワードは、VT_NULLVT_EMPTYなどの空の VARIANT 値である必要があります。

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.RegisterTask または TaskFolder.RegisterTaskDefinitionlogonType パラメーターに、3 (TASK_LOGON_INTERACTIVE_TOKEN) または 4 (TASK_LOGON_GROUP) を指定します。

Administrators グループのメンバーのみが、ブート トリガーを使用してタスクを作成できます。

userId パラメーターで指定されたグループと、TaskFolder.RegisterTask または TaskFolder.RegisterTaskDefinitionlogonType パラメーターで指定された 3 (TASK_LOGON_INTERACTIVE_TOKEN) でタスクを正常に登録できますが、タスクは実行されません。

要件

要件
サポートされている最小のクライアント
Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー
Windows Server 2008 [デスクトップ アプリのみ]
タイプ ライブラリ
Taskschd.tlb
[DLL]
Taskschd.dll

関連項目

タスク スケジューラ

RegisteredTask

TaskFolder