タスクの名前と状態の表示 (スクリプト)

このスクリプトの例では、タスク フォルダー内のタスクを列挙し、各タスクのプロパティ値を表示する方法を示します。

次の手順では、タスク フォルダー内のすべてのタスクのタスク名と状態を表示する方法について説明します。

タスク フォルダー内のすべてのタスクのタスク名と状態を表示するには

  1. TaskService オブジェクトを作成します。

    このオブジェクトを使用すると、タスク スケジューラ サービスに接続し、特定のタスク フォルダーにアクセスできます。

  2. 情報が必要なタスクを保持するタスク フォルダーを取得します。

    TaskService.GetFolder メソッドを使用してフォルダーを取得します。

  3. フォルダーからタスクのコレクションを取得します。

    TaskFolder.GetTasks メソッドを使用して、タスクのコレクションを取得します (RegisteredTaskCollection)。

  4. コレクション内のタスクの数を取得し、コレクション内の各タスクを列挙します。

    RegisteredTask オブジェクト インスタンスを取得するには、オブジェクトの RegisteredTaskCollection コレクション 使用します。 各インスタンスには、コレクション内のタスクが含まれます。 その後、登録された各タスクの情報 (プロパティ値) を表示できます。

次の VBScript の例は、ルート タスク フォルダー内の登録済みタスクのコレクションを列挙し、各タスクの名前と状態を表示する方法を示しています。

'---------------------------------------------------------
' This sample enumerates through the tasks on the local computer and
' displays their name and state.
'---------------------------------------------------------


' Create the TaskService object.
Set service = CreateObject("Schedule.Service")
call service.Connect()

' Get the task folder that contains the tasks. 
Dim rootFolder
Set rootFolder = service.GetFolder("\")
 
Dim taskCollection
Set taskCollection = rootFolder.GetTasks(0)

Dim numberOfTasks
numberOfTasks = taskCollection.Count

If numberOfTasks = 0 Then 
    Wscript.Echo "No tasks are registered."
Else
    WScript.Echo "Number of tasks registered: " & numberOfTasks
    
    Dim registeredTask
    For Each registeredTask In taskCollection
        WScript.Echo "Task Name: " & registeredTask.Name
    
        Dim taskState 
        Select Case registeredTask.State 
            Case "0"
                taskState = "Unknown"
            Case "1"
                taskState = "Disabled"
            Case "2"
                taskState = "Queued"
            Case "3"
                taskState = "Ready"
            Case "4"
                taskState = "Running"
        End Select

        WScript.Echo "    Task State: " & taskState
    Next
End If

タスク スケジューラの使用