ビュー:
予約タスクを使用すると、特定の Server & Workload Protection タスクをスケジュールに従って自動的に実行できます。 Server & Workload Protection APIを使用すると、推奨設定の検索、セキュリティアップデートの確認、クラウドアカウントの同期など、 Server & Workload Protection コンソールを使用して実行できる予約タスク関連のすべてのアクティビティを実行できます。参照 Server & Workload Protection でタスクを実行するようにスケジュールする予約タスクの使用可能な種類の詳細については、を参照してください。
作成した予約タスクは、いつでも実行できます。作成直後に実行し、すぐに削除することもできます。このように、スケジュールされたタスクでは、APIおよびSDKを介して Server & Workload Protection を自動化するための強力で便利なツールにアクセスできます。

関連するクラス 親トピック

スケジュールされたタスクを使用する場合は、次のSDKクラスを使用します。
  • ScheduledTasksApi : Server & Workload Protectionの予約タスクへのアクセスを提供します。予約タスクを作成、説明、変更、削除、検索、および一覧表示できます。
  • ScheduledTask: 予約タスクを表します。
  • ScheduleDetails: 予約タスクの実行スケジュールを定義します。
  • タスクパラメータクラス: 予約タスクが実行するタスクを定義します。 (「タスクの設定クラスのリストを参照してください。)

予約タスクの作成 親トピック

予約タスクを作成するには、次の一般的な手順を実行します (詳細については後述します)。

手順

  1. 作成するScheduledTaskオブジェクトを選択し、一般プロパティを設定します。
  2. 作成するScheduleDetailsオブジェクトを使用してタスクを実行するスケジュールを定義し、ScheduledTaskオブジェクト。
  3. 実行するタスクを定義するタスクパラメータクラスを作成し、ScheduledTaskオブジェクト。タスクの種類ごとに、異なるタスクパラメータクラスを使用できます。ユーザの同期タスクとソフトウェアアップデートの確認タスクでは、タスクパラメータクラスは必要ありません。
  4. 使用するScheduledTasksApi Server & Workload Protectionに予約タスクを作成するオブジェクト。

次に進む前に

一般プロパティの設定 親トピック

を作成するときは、ScheduledTaskオブジェクトの場合は、このオブジェクトを使用して一般的なプロパティを定義します。
  • 名前
  • スケジュールするタスクの種類
  • タスクが有効かどうか
  • 作成後にタスクを実行するかどうか
discover_computer_task = api.ScheduledTask() discover_computer_task.name = "Discover Computers - Daily" discover_computer_task.type = "discover-computers" discover_computer_task.run_now = False
一般プロパティを設定したら、スケジュールとタスクを設定して、ScheduledTaskオブジェクト。

スケジュールを作成する 親トピック

次のプロパティScheduleDetailsオブジェクトは、タスクの実行時期を制御します。
  • 繰り返しの種類 -- 月次、週次、日次、時間ごと、またはなし (1回のみ実行)
  • 日次、週次、および月次スケジュールの実行の繰り返し。日次および週次の繰り返しは、隔日などの間隔で表されます。毎月の繰り返しの場合は、特定の月を指定します。
  • タスクの実行回数 (繰り返し回数)。タスクが指定された回数実行されると、タスクは自動的に削除されます。これは、予約タスクを1回だけ実行する場合に便利です。
  • 日次、週次、および月次の繰り返しタイプの開始時刻によって、タスクが実行される時刻がミリ秒単位で決まります (エポックタイム)。日次および週次のスケジュールで繰り返しが間隔で表される場合、後続の実行が実行される日または週は開始時刻から計算されます。たとえば、繰り返しが隔日である場合、開始時刻が月曜日の場合は、タスクの次の実行日が水曜日であることを意味します。
  • 開始時刻の解釈に使用するタイムゾーン。
次の点に注意してください。ScheduleDetailsオブジェクトは Server & Workload Protectionで個別のエンティティとして保持されるのではなく、スケジュールされたタスクの一部として保存されます。を保持することはできません。ScheduleDetails後で他の予約タスクで再利用できるようにオブジェクトを設定します。
スケジュールを作成するには、次の一般的な手順を実行します。

手順

  1. 作成するScheduleDetailsオブジェクトを選択し、繰り返しの種類を設定します。
  2. 作成するScheduleParameters繰り返しタイプに対応するオブジェクトを作成し、実行の繰り返しと開始時刻を設定し、それをScheduledTaskオブジェクト。使用可能なScheduleParametersオブジェクトはDailyScheduleParameters, HourlyScheduleParameters , MonthlyScheduleParameters 、およびOnceOnlyScheduleParameters
  3. 必要に応じて、ScheduledTaskオブジェクト。

次に進む前に

たとえば、ScheduleDetails日次スケジュールのオブジェクト:
daily_schedule = api.ScheduleDetails() daily_schedule.recurrence_type = "daily"
DailyScheduleParametersクラスは毎日のスケジュールに対応しています。次の例では、カスタム間隔を使用してスケジュールを設定します。
daily_schedule_parameters = api.DailyScheduleParameters() daily_schedule_parameters.frequency_type = "custom" daily_schedule_parameters.custom_interval = custom_interval daily_schedule_parameters.start_time = start_time
最後に、スケジュールパラメータをScheduleDetailsオブジェクト:
daily_schedule.daily_schedule_parameters = daily_schedule_parameters

例: 日次スケジュール 親トピック

次の例では、予約タスクで使用する日次スケジュールを作成します。
# Create a ScheduleDetails object and set the recurrence type daily_schedule = api.ScheduleDetails() daily_schedule.recurrence_type = "daily" # Specify when the task runs daily_schedule_parameters = api.DailyScheduleParameters() # Use a custom frequency type to run the task at daily intervals. # Every day and only weekdays are other available frequency types. daily_schedule_parameters.frequency_type = "custom" daily_schedule_parameters.custom_interval = custom_interval daily_schedule_parameters.start_time = start_time # Add the schedule parameters to the schedule details daily_schedule.daily_schedule_parameters = daily_schedule_parameters

例: 月間スケジュール 親トピック

次の例では、スケジュールされたタスクで使用する月間スケジュールを作成します。
# Create a ScheduleDetails object and set the recurrence type quarterly_schedule = api.ScheduleDetails() quarterly_schedule.recurrence_type = "monthly" # Specify when the task runs monthly_schedule_parameters = api.MonthlyScheduleParameters() # Set the schedule to run on a specific day of the month. # Other options are the last day of the month, or a specific weekday of a specific week monthly_schedule_parameters.frequency_type = "day-of-month" # Set the day monthly_schedule_parameters.day_of_month = day # Set the months to be quarterly monthly_schedule_parameters.months = ["january", "april", "july", "october"] # Add the schedule parameters to the schedule details quarterly_schedule.monthly_schedule_parameters = monthly_schedule_parameters

タスクの設定 親トピック

次の各タスクパラメータクラスは、予約タスクの種類に対応しています。タスクを設定するには、次のクラスを使用します。
  • CheckForSecurityUpdatesTaskParameters
  • DiscoverComputersTaskParameters
  • GenerateReportTaskParameters
  • RunScriptTaskParameters
  • ScanForIntegrityChangesTaskParameters
  • ScanForMalwareTaskParameters
  • ScanForOpenPortsScanParameters
  • ScanForRecommendationsScanParameters
  • SendAlertSummaryScanParameters
  • SendPolicyTaskParameters
  • SynchronizeCloudAccountTaskParameters
  • SynchronizeDirectoryTaskParameters
  • SynchronizeVCenterTaskParameters
  • UpdateSuspiciousObjectsListTaskParameters
ヒント
ヒント
APIキーに付与されている権限によって、使用可能なタスクパラメータクラスが決まります。たとえば、プライマリテナントがテナントによるスクリプトの使用を制限している場合、RunScriptTaskParametersテナントはクラスを使用できません。
タスクオブジェクトを作成および設定するには、次の一般的な手順を実行します。

手順

  1. 作成する予約タスクの種類に対応するクラスからタスクパラメータオブジェクトを作成します。
    注意
    注意
    [ユーザの同期] タスクと [ソフトウェアアップデートの確認] タスクの設定は不要です。これらのタスクについては、タスクパラメータクラスを作成しないでください。
  2. タスクパラメータオブジェクトを設定して、タスクの動作を定義します。
    • 各クラスには、設定が必要なさまざまなプロパティが定義されています。
    • 一部のタスクパラメータクラスでは、ComputerFilterオブジェクトを指定して、処理対象のコンピュータを識別します。
    • タスクパラメータオブジェクトの種類によっては、Recipients,TagFilter、またはTimeRangeオブジェクト。

次に進む前に

たとえば、ScheduledTaskオブジェクトを検索し、コンピュータを検出するようにタスクの種類を設定します。
discover_computer_task = api.ScheduledTask() discover_computer_task.type = "discover-computers"
対応するDiscoverComputerTaskParametersオブジェクトを作成し、プロパティ値を設定します。
task_parameters = api.DiscoverComputersTaskParameters() task_parameters.discovery_type = "range" task_parameters.iprange_low = "192.168.60.0" task_parameters.iprange_high = "192.168.60.255" task_parameters.scan_discovered_computers = True
次に、DiscoverComputerTaskParametersオブジェクトをScheduledTaskオブジェクトに追加し、 Server & Workload Protectionで予約タスクを作成します。
discover_computer_task.discover_computers_task_parameters = task_parameters scheduled_tasks_api = api.ScheduledTasksApi(api.ApiClient(configuration)) scheduled_task = scheduled_tasks_api.create_scheduled_task(discover_computer_task, api_version)

例: 予約タスクの作成 親トピック

次の例では、コンピュータを検出する予約タスクを作成します。
# Create the ScheduledTask object and set the name and type. Do not run now. discover_computer_task = api.ScheduledTask() discover_computer_task.name = "Discover Computers - Daily" discover_computer_task.type = "discover-computers" discover_computer_task.run_now = False # Call the createDailyScheduleDetails method to obtain a daily ScheduleDetails object. # Set the start time to 03:00 DST. discover_computer_task.schedule_details = create_daily_schedule_details(api, api_exception, 2, 1536030000000); # Create a DiscoverComputersTaskParameters object. # The scan applies to a range of IP addresses, and scans discovered computers for open ports. task_parameters = api.DiscoverComputersTaskParameters() task_parameters.discovery_type = "range" task_parameters.iprange_low = "192.168.60.0" task_parameters.iprange_high = "192.168.60.255" task_parameters.scan_discovered_computers = True discover_computer_task.discover_computers_task_parameters = task_parameters # Create the scheduled task on Server & Workload Protection scheduled_tasks_api = api.ScheduledTasksApi(api.ApiClient(configuration)) scheduled_task = scheduled_tasks_api.create_scheduled_task(discover_computer_task, api_version) return scheduled_task.idServer & Workload Protection
scheduled_tasks_api = api.ScheduledTasksApi(api.ApiClient(configuration))
scheduled_task = scheduled_tasks_api.create_scheduled_task(discover_computer_task, api_version)

return scheduled_task.id
また、予約タスクの作成操作については、 APIレファレンス/参照情報を参照してください。

予約タスクの作成、実行、および削除 親トピック

作成と同時に実行される予約タスクを作成してから、その予約タスクを削除します。このように予約タスクを使用すると、APIを介して Server & Workload Protection のさまざまな機能に簡単にアクセスできます。
ヒント
ヒント
の繰り返し回数がScheduleDetailsobjectが1に設定されている場合、予約タスクは実行後に自動的に削除されます。
予約タスクを作成、実行、および削除するには、次の一般的な手順を実行します。

手順

  1. を作成および設定します。ScheduledTaskオブジェクト:
    • 予約タスクを今すぐ実行するように設定します。
    • 2回目以降は実行されないように、タスクを1回だけ実行するように設定します。
    • 必要に応じてタスクの詳細を作成および設定します。
  2. 作成するScheduledTasksApiオブジェクトを作成し、それを使用して Server & Workload Protectionに予約タスクを作成します。
  3. を使用します。ScheduledTasksApi Server & Workload Protectionの予約タスクを削除するオブジェクト。

次に進む前に

次の例では、セキュリティアップデートを確認する予約タスクを作成、実行、および削除します。
# Set the name and task type check_for_security_updates = api.ScheduledTask() check_for_security_updates.name = "Check For Security Updates" check_for_security_updates.type = "check-for-security-updates" # Run when the scheduled task is created check_for_security_updates.run_now = True # Use a once-only recurrence schedule_details = api.ScheduleDetails() schedule_details.recurrence_type = 'none' # Set the recurrence count to 1 so that the task is deleted after running schedule_details.recurrence_count = 1 schedule_parameters = api.OnceOnlyScheduleParameters() # The start time is not important because it is deleted after running schedule_parameters.start_time = 0 schedule_details.once_only_schedule_parameters = schedule_parameters check_for_security_updates.schedule_details = schedule_details # Scan all computers computer_filter = api.ComputerFilter() computer_filter.type = "all-computers" # Create the task parameters object and add the computer filter task_parameters = api.CheckForSecurityUpdatesTaskParameters() task_parameters.computer_filter = computer_filter check_for_security_updates.check_for_security_updates_task_parameters = task_parameters # Create the scheduled task on Server & Workload Protection scheduled_tasks_api = api.ScheduledTasksApi(api.ApiClient(configuration)) scheduled_task = scheduled_tasks_api.create_scheduled_task(check_for_security_updates, api_version) return scheduled_task.idServer & Workload Protection
scheduled_tasks_api = api.ScheduledTasksApi(api.ApiClient(configuration))
scheduled_task = scheduled_tasks_api.create_scheduled_task(check_for_security_updates, api_version)

return scheduled_task.id
また、予約タスクの作成操作については、 APIレファレンス/参照情報を参照してください。

既存の予約タスクを実行する 親トピック

既存の予約タスクはいつでも実行できます。たとえば、ネットワークでコンピュータを検索する予約タスクが Server & Workload Protection で作成され、2日ごとに実行されるとします。ただし、今すぐ検索を実行する必要があるため、予約タスクはすぐに実行します。
予約タスクを実行するには、次の一般的な手順を実行します。

手順

  1. 作成するScheduledTaskオブジェクトを選択し、runNowプロパティtrue 。他のプロパティは設定しないでください。
  2. 実行する既存の予約タスクのIDを取得します。
  3. 作成するScheduledTasksApiオブジェクトを作成し、それを使用して既存の予約タスクを変更します。ScheduledTask作成したオブジェクト。

次に進む前に

設定時runNowtrueの場合、予約タスクは現在の時刻に設定された間隔で実行されるように設定されています。予約タスクの実行後に、開始時刻を元の値にリセットすることができます。
次の例では、コンピュータの検出の予約タスクを実行します。
# Create the ScheduledTask object and set to run now scheduled_task = api.ScheduledTask() scheduled_task.run_now = True # Modify the scheduled task on Server & Workload Protection scheduled_tasks_api = api.ScheduledTasksApi(api.ApiClient(configuration)) scheduled_tasks_api.modify_scheduled_task(scheduled_task_id, scheduled_task, api_version)Server & Workload Protection
scheduled_tasks_api = api.ScheduledTasksApi(api.ApiClient(configuration))
scheduled_tasks_api.modify_scheduled_task(scheduled_task_id, scheduled_task, api_version)
また、予約タスクの変更操作については、 APIレファレンス/参照情報を参照してください。