你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Virtual Machine Run Commands - Update

用于更新 run 命令的操作。

PATCH https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/runCommands/{runCommandName}?api-version=2024-03-01

URI 参数

名称 必需 类型 说明
resourceGroupName
path True

string

资源组的名称。

runCommandName
path True

string

虚拟机运行命令的名称。

subscriptionId
path True

string

唯一标识 Microsoft Azure 订阅的订阅凭据。 此订阅 ID 是每个服务调用的 URI 的一部分。

vmName
path True

string

应在其中更新 run 命令的虚拟机的名称。

api-version
query True

string

客户端 API 版本。

请求正文

Media Types: "application/json", "text/json"

名称 类型 说明
properties.asyncExecution

boolean

可选。 如果设置为 true,则脚本启动后,预配将立即完成,并且不会等待脚本完成。

properties.errorBlobManagedIdentity

RunCommandManagedIdentity

有权访问 errorBlobUri 存储 Blob 的用户分配的托管标识。 对于系统分配的标识,请使用空对象。 确保已向托管标识授予对 Blob 容器的访问权限,并分配了“存储 Blob 数据参与者”角色。 对于用户分配的标识,请确保将其添加到 VM 的标识下。 有关托管标识和运行命令的详细信息,请参阅 https://aka.ms/ManagedIdentityhttps://aka.ms/RunCommandManaged

properties.errorBlobUri

string

指定要在其中上传脚本错误流的 Azure 存储 Blob。 使用具有读取、追加、创建、写入访问权限的 SAS URI,或使用托管标识为 VM 提供对 Blob 的访问权限。 请参阅 errorBlobManagedIdentity 参数。

properties.outputBlobManagedIdentity

RunCommandManagedIdentity

有权访问 outputBlobUri 存储 Blob 的用户分配的托管标识。 对于系统分配的标识,请使用空对象。 确保已向托管标识授予对 Blob 容器的访问权限,并分配了“存储 Blob 数据参与者”角色。 对于用户分配的标识,请确保将其添加到 VM 的标识下。 有关托管标识和运行命令的详细信息,请参阅 https://aka.ms/ManagedIdentityhttps://aka.ms/RunCommandManaged

properties.outputBlobUri

string

指定要在其中上传脚本输出流的 Azure 存储 Blob。 使用具有读取、追加、创建、写入访问权限的 SAS URI,或使用托管标识为 VM 提供对 Blob 的访问权限。 请参阅 outputBlobManagedIdentity 参数。

properties.parameters

RunCommandInputParameter[]

脚本使用的参数。

properties.protectedParameters

RunCommandInputParameter[]

脚本使用的参数。

properties.runAsPassword

string

指定执行 run 命令时 VM 上的用户帐户密码。

properties.runAsUser

string

指定执行 run 命令时 VM 上的用户帐户。

properties.source

VirtualMachineRunCommandScriptSource

运行命令脚本的源。

properties.timeoutInSeconds

integer

执行 run 命令的超时时间(秒)。

properties.treatFailureAsDeploymentFailure

boolean

可选。 如果设置为 true,脚本中的任何失败都将使部署失败,ProvisioningState 将标记为“失败”。 如果设置为 false,ProvisioningState 将仅反映 run 命令是否由扩展平台运行,它不会指示脚本在脚本失败时是否失败。 如果脚本失败,请参阅 run 命令的实例视图,以查看 executionMessage、输出、错误: https://aka.ms/runcommandmanaged#get-execution-status-and-results

tags

object

资源标记

响应

名称 类型 说明
200 OK

VirtualMachineRunCommand

确定

Media Types: "application/json", "text/json"

Other Status Codes

CloudError

描述操作失败原因的错误响应。

Media Types: "application/json", "text/json"

安全性

azure_auth

Azure Active Directory OAuth2 流

Type: oauth2
Flow: implicit
Authorization URL: https://login.microsoftonline.com/common/oauth2/authorize

Scopes

名称 说明
user_impersonation 模拟用户帐户

示例

Update a run command.

Sample Request

PATCH https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM/runCommands/myRunCommand?api-version=2024-03-01

{
  "properties": {
    "source": {
      "script": "Write-Host Hello World! ; Remove-Item C:\test\testFile.txt"
    },
    "parameters": [
      {
        "name": "param1",
        "value": "value1"
      },
      {
        "name": "param2",
        "value": "value2"
      }
    ],
    "asyncExecution": false,
    "runAsUser": "user1",
    "runAsPassword": "<runAsPassword>",
    "timeoutInSeconds": 3600,
    "outputBlobUri": "https://mystorageaccount.blob.core.windows.net/myscriptoutputcontainer/outputUri",
    "errorBlobUri": "https://mystorageaccount.blob.core.windows.net/mycontainer/MyScriptError.txt",
    "errorBlobManagedIdentity": {
      "objectId": "4231e4d2-33e4-4e23-96b2-17888afa6072"
    }
  }
}

Sample Response

{
  "name": "myRunCommand",
  "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM/runCommands/myRunCommand",
  "type": "Microsoft.Compute/virtualMachines/runCommands",
  "location": "westus",
  "tags": {
    "tag1": "value1",
    "tag2": "value2"
  },
  "properties": {
    "source": {
      "script": "Write-Host Hello World! ; Remove-Item C:\test\testFile.txt"
    },
    "parameters": [
      {
        "name": "param1",
        "value": "value1"
      },
      {
        "name": "param2",
        "value": "value2"
      }
    ],
    "asyncExecution": false,
    "treatFailureAsDeploymentFailure": false,
    "runAsUser": "user1",
    "timeoutInSeconds": 3600,
    "provisioningState": "Updating",
    "outputBlobUri": "https://mystorageaccount.blob.core.windows.net/myscriptoutputcontainer/MyScriptoutput.txt",
    "errorBlobUri": "https://mystorageaccount.blob.core.windows.net/mycontainer/MyScriptError.txt"
  }
}

定义

名称 说明
ApiError

API 错误。

ApiErrorBase

API 错误基。

CloudError

来自计算服务的错误响应。

ExecutionState

脚本执行状态。

InnerError

内部错误详细信息。

InstanceViewStatus

实例视图状态。

RunCommandInputParameter

描述 run 命令参数的属性。

RunCommandManagedIdentity

包含 clientId 或 objectId (只使用一个,而不是) 用户分配的托管标识,该标识有权访问运行命令中使用的存储 Blob。 对于系统分配的标识,请使用空的 RunCommandManagedIdentity 对象。 请确保在 scriptUri 的情况下存在 Azure 存储 Blob,并且已向托管标识授予对 Blob 容器的访问权限,该容器分配具有 scriptUri blob 的“存储 Blob 数据读取者”角色分配,并为追加 blob 分配“存储 Blob 数据参与者” (outputBlobUri,errorBlobUri) 。 对于用户分配的标识,请确保将其添加到 VM 的标识下。 有关托管标识和运行命令的详细信息,请参阅 https://aka.ms/ManagedIdentityhttps://aka.ms/RunCommandManaged

StatusLevelTypes

级别代码。

VirtualMachineRunCommand

描述虚拟机运行命令。

VirtualMachineRunCommandInstanceView

虚拟机 run 命令的实例视图。

VirtualMachineRunCommandScriptSource

介绍 run 命令的脚本源。 仅使用 scriptUri 和 commandId 之一。

VirtualMachineRunCommandUpdate

描述虚拟机运行命令。

ApiError

API 错误。

名称 类型 说明
code

string

错误代码。

details

ApiErrorBase[]

API 错误详细信息

innererror

InnerError

Api 内部错误

message

string

错误消息。

target

string

特定错误的目标。

ApiErrorBase

API 错误基。

名称 类型 说明
code

string

错误代码。

message

string

错误消息。

target

string

特定错误的目标。

CloudError

来自计算服务的错误响应。

名称 类型 说明
error

ApiError

Api 错误。

ExecutionState

脚本执行状态。

名称 类型 说明
Canceled

string

Failed

string

Pending

string

Running

string

Succeeded

string

TimedOut

string

Unknown

string

InnerError

内部错误详细信息。

名称 类型 说明
errordetail

string

内部错误消息或异常转储。

exceptiontype

string

异常类型。

InstanceViewStatus

实例视图状态。

名称 类型 说明
code

string

状态代码。

displayStatus

string

状态的简短可本地化标签。

level

StatusLevelTypes

级别代码。

message

string

详细状态消息,包括警报和错误消息。

time

string

状态的时间。

RunCommandInputParameter

描述 run 命令参数的属性。

名称 类型 说明
name

string

运行命令参数名称。

value

string

运行命令参数值。

RunCommandManagedIdentity

包含 clientId 或 objectId (只使用一个,而不是) 用户分配的托管标识,该标识有权访问运行命令中使用的存储 Blob。 对于系统分配的标识,请使用空的 RunCommandManagedIdentity 对象。 请确保在 scriptUri 的情况下存在 Azure 存储 Blob,并且已向托管标识授予对 Blob 容器的访问权限,该容器分配具有 scriptUri blob 的“存储 Blob 数据读取者”角色分配,并为追加 blob 分配“存储 Blob 数据参与者” (outputBlobUri,errorBlobUri) 。 对于用户分配的标识,请确保将其添加到 VM 的标识下。 有关托管标识和运行命令的详细信息,请参阅 https://aka.ms/ManagedIdentityhttps://aka.ms/RunCommandManaged

名称 类型 说明
clientId

string

客户端 ID (用户分配的托管标识) GUID 值。 如果提供了 ObjectId,则不应使用 ObjectId。

objectId

string

对象 ID (用户分配的托管标识) GUID 值。 如果已提供,则不应使用 ClientId。

StatusLevelTypes

级别代码。

名称 类型 说明
Error

string

Info

string

Warning

string

VirtualMachineRunCommand

描述虚拟机运行命令。

名称 类型 默认值 说明
id

string

资源 ID

location

string

资源位置

name

string

资源名称

properties.asyncExecution

boolean

False

可选。 如果设置为 true,则脚本启动后,预配将立即完成,并且不会等待脚本完成。

properties.errorBlobManagedIdentity

RunCommandManagedIdentity

有权访问 errorBlobUri 存储 Blob 的用户分配的托管标识。 对于系统分配的标识,请使用空对象。 确保已向托管标识授予对 Blob 容器的访问权限,并分配了“存储 Blob 数据参与者”角色。 对于用户分配的标识,请确保将其添加到 VM 的标识下。 有关托管标识和运行命令的详细信息,请参阅 https://aka.ms/ManagedIdentityhttps://aka.ms/RunCommandManaged

properties.errorBlobUri

string

指定要在其中上传脚本错误流的 Azure 存储 Blob。 使用具有读取、追加、创建、写入访问权限的 SAS URI,或使用托管标识为 VM 提供对 Blob 的访问权限。 请参阅 errorBlobManagedIdentity 参数。

properties.instanceView

VirtualMachineRunCommandInstanceView

虚拟机运行命令实例视图。

properties.outputBlobManagedIdentity

RunCommandManagedIdentity

有权访问 outputBlobUri 存储 Blob 的用户分配的托管标识。 对于系统分配的标识,请使用空对象。 确保已向托管标识授予对 Blob 容器的访问权限,并分配了“存储 Blob 数据参与者”角色。 对于用户分配的标识,请确保将其添加到 VM 的标识下。 有关托管标识和运行命令的详细信息,请参阅 https://aka.ms/ManagedIdentityhttps://aka.ms/RunCommandManaged

properties.outputBlobUri

string

指定要在其中上传脚本输出流的 Azure 存储 Blob。 使用具有读取、追加、创建、写入访问权限的 SAS URI,或使用托管标识为 VM 提供对 Blob 的访问权限。 请参阅 outputBlobManagedIdentity 参数。

properties.parameters

RunCommandInputParameter[]

脚本使用的参数。

properties.protectedParameters

RunCommandInputParameter[]

脚本使用的参数。

properties.provisioningState

string

预配状态,仅显示在响应中。 如果 treatFailureAsDeploymentFailure 设置为 true,则脚本中的任何失败都将使部署失败,ProvisioningState 将标记为“失败”。 如果 treatFailureAsDeploymentFailure 设置为 false,ProvisioningState 将仅反映 run 命令是否由扩展平台运行,它不会指示脚本在脚本失败时是否失败。 在脚本失败的情况下,请参阅 run 命令的实例视图,以查看 executionMessage、output、error: https://aka.ms/runcommandmanaged#get-execution-status-and-results

properties.runAsPassword

string

指定执行 run 命令时 VM 上的用户帐户密码。

properties.runAsUser

string

指定执行 run 命令时 VM 上的用户帐户。

properties.source

VirtualMachineRunCommandScriptSource

运行命令脚本的源。

properties.timeoutInSeconds

integer

执行 run 命令的超时(秒)。

properties.treatFailureAsDeploymentFailure

boolean

False

可选。 如果设置为 true,则脚本中的任何失败都将使部署失败,ProvisioningState 将标记为“失败”。 如果设置为 false,ProvisioningState 将仅反映 run 命令是否由扩展平台运行,它不会指示脚本在脚本失败时是否失败。 在脚本失败的情况下,请参阅 run 命令的实例视图,以查看 executionMessage、output、error: https://aka.ms/runcommandmanaged#get-execution-status-and-results

tags

object

资源标记

type

string

资源类型

VirtualMachineRunCommandInstanceView

虚拟机 run 命令的实例视图。

名称 类型 说明
endTime

string

脚本结束时间。

error

string

脚本错误流。

executionMessage

string

传达脚本配置错误或执行消息。

executionState

ExecutionState

脚本执行状态。

exitCode

integer

从脚本执行返回的退出代码。

output

string

脚本输出流。

startTime

string

脚本开始时间。

statuses

InstanceViewStatus[]

资源状态信息。

VirtualMachineRunCommandScriptSource

介绍 run 命令的脚本源。 仅使用 scriptUri 和 commandId 之一。

名称 类型 说明
commandId

string

指定预定义内置脚本的 commandId。

script

string

指定要在 VM 上执行的脚本内容。

scriptUri

string

指定脚本下载位置。 它可以是具有读取访问权限的 Azure 存储 Blob 的 SAS URI,也可以是公共 URI。

scriptUriManagedIdentity

RunCommandManagedIdentity

对于 Azure 存储 Blob,用户分配的托管标识有权访问 scriptUri。 对于系统分配的标识,请使用空对象。 确保 Azure 存储 Blob 存在,并且已向托管标识授予对 Blob 容器的访问权限,并分配了“存储 Blob 数据读取者”角色。 对于用户分配的标识,请确保将其添加到 VM 的标识下。 有关托管标识和运行命令的详细信息,请参阅 https://aka.ms/ManagedIdentityhttps://aka.ms/RunCommandManaged

VirtualMachineRunCommandUpdate

描述虚拟机运行命令。

名称 类型 默认值 说明
properties.asyncExecution

boolean

False

可选。 如果设置为 true,则脚本启动后,预配将立即完成,并且不会等待脚本完成。

properties.errorBlobManagedIdentity

RunCommandManagedIdentity

有权访问 errorBlobUri 存储 Blob 的用户分配的托管标识。 对于系统分配的标识,请使用空对象。 确保已向托管标识授予对 Blob 容器的访问权限,并分配了“存储 Blob 数据参与者”角色。 对于用户分配的标识,请确保将其添加到 VM 的标识下。 有关托管标识和运行命令的详细信息,请参阅 https://aka.ms/ManagedIdentityhttps://aka.ms/RunCommandManaged

properties.errorBlobUri

string

指定要在其中上传脚本错误流的 Azure 存储 Blob。 使用具有读取、追加、创建、写入访问权限的 SAS URI,或使用托管标识为 VM 提供对 Blob 的访问权限。 请参阅 errorBlobManagedIdentity 参数。

properties.instanceView

VirtualMachineRunCommandInstanceView

虚拟机运行命令实例视图。

properties.outputBlobManagedIdentity

RunCommandManagedIdentity

有权访问 outputBlobUri 存储 Blob 的用户分配的托管标识。 对于系统分配的标识,请使用空对象。 确保已向托管标识授予对 Blob 容器的访问权限,并分配了“存储 Blob 数据参与者”角色。 对于用户分配的标识,请确保将其添加到 VM 的标识下。 有关托管标识和运行命令的详细信息,请参阅 https://aka.ms/ManagedIdentityhttps://aka.ms/RunCommandManaged

properties.outputBlobUri

string

指定要在其中上传脚本输出流的 Azure 存储 Blob。 使用具有读取、追加、创建、写入访问权限的 SAS URI,或使用托管标识为 VM 提供对 Blob 的访问权限。 请参阅 outputBlobManagedIdentity 参数。

properties.parameters

RunCommandInputParameter[]

脚本使用的参数。

properties.protectedParameters

RunCommandInputParameter[]

脚本使用的参数。

properties.provisioningState

string

预配状态,仅显示在响应中。 如果 treatFailureAsDeploymentFailure 设置为 true,则脚本中的任何失败都将使部署失败,ProvisioningState 将标记为“失败”。 如果 treatFailureAsDeploymentFailure 设置为 false,ProvisioningState 将仅反映 run 命令是否由扩展平台运行,它不会指示脚本在脚本失败时是否失败。 如果脚本失败,请参阅 run 命令的实例视图,以查看 executionMessage、输出、错误: https://aka.ms/runcommandmanaged#get-execution-status-and-results

properties.runAsPassword

string

指定执行 run 命令时 VM 上的用户帐户密码。

properties.runAsUser

string

指定执行 run 命令时 VM 上的用户帐户。

properties.source

VirtualMachineRunCommandScriptSource

运行命令脚本的源。

properties.timeoutInSeconds

integer

执行 run 命令的超时(秒)。

properties.treatFailureAsDeploymentFailure

boolean

False

可选。 如果设置为 true,脚本中的任何失败都将使部署失败,ProvisioningState 将标记为“失败”。 如果设置为 false,ProvisioningState 将仅反映 run 命令是否由扩展平台运行,它不会指示脚本在脚本失败时是否失败。 如果脚本失败,请参阅 run 命令的实例视图,以查看 executionMessage、输出、错误: https://aka.ms/runcommandmanaged#get-execution-status-and-results

tags

object

资源标记