Help Center/ Workspace/ API Reference/ Workspace APIs/ Desktop Pools/ Executing Desktop Pool Scripts in Batches
Updated on 2026-02-10 GMT+08:00

Executing Desktop Pool Scripts in Batches

Function

Desktop pool scripts executed in batches.

Debugging

You can debug this API through automatic authentication in API Explorer or use the SDK sample code generated by API Explorer.

Authorization Information

Each account has all the permissions required to call all APIs, but IAM users must be assigned the required permissions.

  • If you are using role/policy-based authorization, see Permissions Policies and Supported Actions for details on the required permissions.
  • If you are using identity policy-based authorization, the following identity policy-based permissions are required.

    Action

    Access Level

    Resource Type (*: required)

    Condition Key

    Alias

    Dependencies

    workspace:desktopPools:executeScripts

    Write

    desktopPool *

    -

    -

    -

    script

    -

URI

POST /v2/{project_id}/desktop-pools/{pool_id}/script-executions

Table 1 Path Parameters

Parameter

Mandatory

Type

Description

project_id

Yes

String

Project ID.

pool_id

Yes

String

Specifies the desktop pool ID.

Request Parameters

Table 2 Request body parameters

Parameter

Mandatory

Type

Description

script_ids

No

Array of strings

IDs of the executed scripts.

gray_count

No

Integer

Number of desktops executed in the first batch. This parameter takes precedence over gray_desktop_ids.

gray_desktop_ids

No

Array of strings

IDs of the first batch of desktops. gray_count takes precedence over this parameter.

desktop_ids

No

Array of strings

Desktop ID list. The script can be executed on some desktops in a desktop pool.

gray_fail_threshold

No

Integer

Grayscale release failure threshold. When the number of grayscale release failures reaches the value of this parameter, the next batch of tasks will not be executed.

pre_start

No

String

Step performed before script execution.

post_finish

No

String

Step to be performed after script execution is complete. The value can be stop (shutdown) or reboot (restart).

command_content

No

String

Command to be executed. Either this parameter or script_ids must be set.

command_type

No

String

Command line type. This parameter is mandatory when a command line is executed.

  • POWERSHELL: used by the Windows operating system.

  • BAT: used by the Windows operating system.

  • SHELL: used by the Linux system.

execution_timeout

No

Integer

Timeout interval for executing the script, in minutes. The default value is 1.

Response Parameters

Status code: 200

Table 3 Response body parameters

Parameter

Type

Description

task_id

String

Task ID.

Status code: 400

Table 4 Response body parameters

Parameter

Type

Description

error_code

String

Error code, which is returned upon failure.

error_msg

String

Error message.

error_detail

String

Error details.

encoded_authorization_message

String

Encrypted detailed reason for rejection. You can call the API decode-authorization-message of STS to decrypt the reason.

Status code: 401

Table 5 Response body parameters

Parameter

Type

Description

error_code

String

Error code, which is returned upon failure.

error_msg

String

Error message.

error_detail

String

Error details.

encoded_authorization_message

String

Encrypted detailed reason for rejection. You can call the API decode-authorization-message of STS to decrypt the reason.

Status code: 403

Table 6 Response body parameters

Parameter

Type

Description

error_code

String

Error code, which is returned upon failure.

error_msg

String

Error message.

error_detail

String

Error details.

encoded_authorization_message

String

Encrypted detailed reason for rejection. You can call the API decode-authorization-message of STS to decrypt the reason.

Status code: 404

Table 7 Response body parameters

Parameter

Type

Description

error_code

String

Error code, which is returned upon failure.

error_msg

String

Error message.

error_detail

String

Error details.

encoded_authorization_message

String

Encrypted detailed reason for rejection. You can call the API decode-authorization-message of STS to decrypt the reason.

Status code: 500

Table 8 Response body parameters

Parameter

Type

Description

error_code

String

Error code, which is returned upon failure.

error_msg

String

Error message.

error_detail

String

Error details.

encoded_authorization_message

String

Encrypted detailed reason for rejection. You can call the API decode-authorization-message of STS to decrypt the reason.

Example Requests

POST /v2/0bec5db98280d2d02fd6c00c2de791ce/desktops-pools/a130ab3a-72bf-4b71-baa9-af4987c8e338/script-executions

{
  "script_ids" : [ "0006e69f-5970-4af5-a652-e111055e630b" ],
  "gray_desktop_ids" : [ "00298bb0-104a-4467-9b15-876c6fb7a99f" ],
  "post_finish" : "reboot"
}

Example Responses

Status code: 200

Normal.

{
  "task_id" : "00298bb0-104a-4467-9b15-876c6fb7a99f"
}

Status Codes

Status Code

Description

200

Normal.

400

The request cannot be understood by the server due to malformed syntax.

401

Authentication failed.

403

No operation permissions.

404

No resources found.

500

An internal service error occurred. For details about the error code, see the error code description.

Error Codes

See Error Codes.