Virtual Machine Run Commands - List By Virtual Machine
获取虚拟机的所有运行命令的作。
GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/runCommands?api-version=2025-04-01
GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/runCommands?api-version=2025-04-01&$expand={$expand}
URI 参数
| 名称 | 在 | 必需 | 类型 | 说明 |
|---|---|---|---|---|
|
resource
|
path | True |
string minLength: 1maxLength: 90 |
资源组的名称。 此名称不区分大小写。 |
|
subscription
|
path | True |
string minLength: 1 |
目标订阅的 ID。 |
|
vm
|
path | True |
string |
虚拟机的名称 |
|
api-version
|
query | True |
string minLength: 1 |
要用于此操作的 API 版本。 |
|
$expand
|
query |
string |
要应用于作的展开表达式。 |
响应
| 名称 | 类型 | 说明 |
|---|---|---|
| 200 OK |
请求已成功。 |
|
| Other Status Codes |
意外错误响应。 |
安全性
azure_auth
Azure Active Directory OAuth2 Flow。
类型:
oauth2
流向:
implicit
授权 URL:
https://login.microsoftonline.com/common/oauth2/authorize
作用域
| 名称 | 说明 |
|---|---|
| user_impersonation | 模拟用户帐户 |
示例
List run commands in a Virtual Machine.
示例请求
示例响应
{
"value": [
{
"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!"
},
"parameters": [
{
"name": "param1",
"value": "value1"
},
{
"name": "param2",
"value": "value2"
}
],
"asyncExecution": false,
"treatFailureAsDeploymentFailure": false,
"runAsUser": "user1",
"timeoutInSeconds": 0,
"provisioningState": "Succeeded",
"outputBlobUri": "https://mystorageaccount.blob.core.windows.net/myscriptoutputcontainer/MyScriptoutput.txt",
"errorBlobUri": "https://mystorageaccount.blob.core.windows.net/mycontainer/MyScriptError.txt"
}
}
]
}
定义
| 名称 | 说明 |
|---|---|
|
Api |
API 错误。 |
|
Api |
Api 错误库。 |
|
Cloud |
来自计算服务的错误响应。 |
|
created |
创建资源的标识的类型。 |
|
Execution |
脚本执行状态。 |
|
Inner |
内部错误详细信息。 |
|
Instance |
实例视图状态。 |
|
Run |
描述运行命令参数的属性。 |
|
Run |
包含用户分配的托管标识的 clientId 或 objectId(仅使用一个,而不是两个),该标识有权访问运行命令中使用的存储 blob。 在系统分配的标识的情况下,使用空的 RunCommandManagedIdentity 对象。 确保 scriptUri 的情况下存在 Azure 存储 Blob,并且托管标识已获得对 Blob 容器的访问权限,并使用 scriptUri blob 分配“存储 Blob 数据读取者”角色,并授予“追加 blob”的“存储 Blob 数据参与者”(outputBlobUri、errorBlobUri)。 如果是用户分配的标识,请确保将其添加到 VM 的标识下。 有关托管标识和运行命令的详细信息,请参阅 https://aka.ms/ManagedIdentity 和 https://aka.ms/RunCommandManaged。 |
|
Script |
脚本 shell 类型。 |
|
Status |
级别代码。 |
|
system |
与创建和上次修改资源相关的元数据。 |
|
Virtual |
描述虚拟机运行命令。 |
|
Virtual |
虚拟机运行命令的实例视图。 |
|
Virtual |
描述运行命令的脚本源。 仅使用以下脚本源之一:script、scriptUri、commandId、galleryScriptReferenceId。 |
|
Virtual |
列表运行命令作响应 |
ApiError
API 错误。
| 名称 | 类型 | 说明 |
|---|---|---|
| code |
string |
错误代码。 |
| details |
Api 错误详细信息 |
|
| innererror |
Api 内部错误 |
|
| message |
string |
错误消息。 |
| target |
string |
特定错误的目标。 |
ApiErrorBase
Api 错误库。
| 名称 | 类型 | 说明 |
|---|---|---|
| code |
string |
错误代码。 |
| message |
string |
错误消息。 |
| target |
string |
特定错误的目标。 |
CloudError
来自计算服务的错误响应。
| 名称 | 类型 | 说明 |
|---|---|---|
| error |
API 错误。 |
createdByType
创建资源的标识的类型。
| 值 | 说明 |
|---|---|
| User | |
| Application | |
| ManagedIdentity | |
| Key |
ExecutionState
脚本执行状态。
| 值 | 说明 |
|---|---|
| Unknown | |
| Pending | |
| Running | |
| Failed | |
| Succeeded | |
| TimedOut | |
| Canceled |
InnerError
内部错误详细信息。
| 名称 | 类型 | 说明 |
|---|---|---|
| errordetail |
string |
内部错误消息或异常转储。 |
| exceptiontype |
string |
异常类型。 |
InstanceViewStatus
实例视图状态。
| 名称 | 类型 | 说明 |
|---|---|---|
| code |
string |
状态代码。 |
| displayStatus |
string |
状态的简短可本地化标签。 |
| level |
级别代码。 |
|
| message |
string |
详细状态消息,包括警报和错误消息。 |
| time |
string (date-time) |
状态的时间。 |
RunCommandInputParameter
描述运行命令参数的属性。
| 名称 | 类型 | 说明 |
|---|---|---|
| name |
string |
run 命令参数名称。 |
| value |
string |
run 命令参数值。 |
RunCommandManagedIdentity
包含用户分配的托管标识的 clientId 或 objectId(仅使用一个,而不是两个),该标识有权访问运行命令中使用的存储 blob。 在系统分配的标识的情况下,使用空的 RunCommandManagedIdentity 对象。 确保 scriptUri 的情况下存在 Azure 存储 Blob,并且托管标识已获得对 Blob 容器的访问权限,并使用 scriptUri blob 分配“存储 Blob 数据读取者”角色,并授予“追加 blob”的“存储 Blob 数据参与者”(outputBlobUri、errorBlobUri)。 如果是用户分配的标识,请确保将其添加到 VM 的标识下。 有关托管标识和运行命令的详细信息,请参阅 https://aka.ms/ManagedIdentity 和 https://aka.ms/RunCommandManaged。
| 名称 | 类型 | 说明 |
|---|---|---|
| clientId |
string |
用户分配的托管标识的客户端 ID (GUID 值)。 如果未提供,则不应使用 ObjectId。 |
| objectId |
string |
用户分配的托管标识的对象 ID (GUID 值)。 如果未提供,则不应使用 ClientId。 |
ScriptShellTypes
脚本 shell 类型。
| 值 | 说明 |
|---|---|
| Default |
默认脚本 shell 类型。 |
| Powershell7 |
Powershell7 脚本 shell 类型。 |
StatusLevelTypes
级别代码。
| 值 | 说明 |
|---|---|
| Info | |
| Warning | |
| Error |
systemData
与创建和上次修改资源相关的元数据。
| 名称 | 类型 | 说明 |
|---|---|---|
| createdAt |
string (date-time) |
资源创建时间戳(UTC)。 |
| createdBy |
string |
创建资源的标识。 |
| createdByType |
创建资源的标识的类型。 |
|
| lastModifiedAt |
string (date-time) |
上次修改的资源时间戳(UTC) |
| lastModifiedBy |
string |
上次修改资源的标识。 |
| lastModifiedByType |
上次修改资源的标识的类型。 |
VirtualMachineRunCommand
描述虚拟机运行命令。
| 名称 | 类型 | 说明 |
|---|---|---|
| id |
string |
资源的完全限定资源 ID。 例如 - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} |
| location |
string |
资源所在的地理位置 |
| name |
string |
资源的名称 |
| properties.asyncExecution |
boolean |
可选。 如果设置为 true,则脚本启动后,预配将立即完成,并且不会等待脚本完成。 |
| properties.errorBlobManagedIdentity |
用户分配的托管标识有权访问 errorBlobUri 存储 Blob。 在系统分配的标识的情况下使用空对象。 确保已向托管标识授予对具有“存储 Blob 数据参与者”角色分配的 Blob 容器的访问权限。 对于用户分配的标识,请确保将其添加到 VM 的标识下。 有关托管标识和运行命令的详细信息,请参阅 https://aka.ms/ManagedIdentity 和 https://aka.ms/RunCommandManaged |
|
| properties.errorBlobUri |
string |
指定将上传脚本错误流的 Azure 存储 Blob。 使用具有读取、追加、创建、写入访问权限的 SAS URI 或使用托管标识提供对 Blob 的 VM 访问权限。 引用 errorBlobManagedIdentity 参数。 |
| properties.instanceView |
虚拟机运行命令实例视图。 |
|
| properties.outputBlobManagedIdentity |
用户分配的托管标识有权访问 outputBlobUri 存储 Blob。 在系统分配的标识的情况下使用空对象。 确保已向托管标识授予对具有“存储 Blob 数据参与者”角色分配的 Blob 容器的访问权限。 对于用户分配的标识,请确保将其添加到 VM 的标识下。 有关托管标识和运行命令的详细信息,请参阅 https://aka.ms/ManagedIdentity 和 https://aka.ms/RunCommandManaged |
|
| properties.outputBlobUri |
string |
指定将上传脚本输出流的 Azure 存储 Blob。 使用具有读取、追加、创建、写入访问权限的 SAS URI 或使用托管标识提供对 Blob 的 VM 访问权限。 引用 outputBlobManagedIdentity 参数。 |
| properties.parameters |
脚本使用的参数。 |
|
| properties.protectedParameters |
脚本使用的参数。 |
|
| properties.provisioningState |
string |
预配状态,仅出现在响应中。 如果 treatFailureAsDeploymentFailure 设置为 true,则脚本中的任何失败都将使部署失败,并且 ProvisioningState 将标记为 Failed。 如果 treatFailureAsDeploymentFailure 设置为 false,则 ProvisioningState 将仅反映扩展平台是否运行了运行命令,它不会指示脚本失败时脚本是否失败。 如果脚本失败,请参阅 run 命令的实例视图,以查看 executionMessage、输出、错误:https://aka.ms/runcommandmanaged#get-execution-status-and-results |
| properties.runAsPassword |
string |
在执行 run 命令时,指定 VM 上的用户帐户密码。 |
| properties.runAsUser |
string |
在执行 run 命令时,指定 VM 上的用户帐户。 |
| properties.source |
运行命令脚本的源。 |
|
| properties.timeoutInSeconds |
integer (int32) |
执行 run 命令的超时(以秒为单位)。 |
| properties.treatFailureAsDeploymentFailure |
boolean |
可选。 如果设置为 true,脚本中的任何失败都将失败,并且 ProvisioningState 将标记为“失败”。 如果设置为 false,ProvisioningState 将仅反映运行命令是否由扩展平台运行,则不会指示脚本在脚本失败时是否失败。 如果脚本失败,请参阅 run 命令的实例视图,以查看 executionMessage、输出、错误:https://aka.ms/runcommandmanaged#get-execution-status-and-results |
| systemData |
包含 createdBy 和 modifiedBy 信息的 Azure 资源管理器元数据。 |
|
| tags |
object |
资源标记。 |
| type |
string |
资源类型。 例如,“Microsoft.Compute/virtualMachines”或“Microsoft.Storage/storageAccounts” |
VirtualMachineRunCommandInstanceView
虚拟机运行命令的实例视图。
| 名称 | 类型 | 说明 |
|---|---|---|
| endTime |
string (date-time) |
脚本结束时间。 |
| error |
string |
脚本错误流。 |
| executionMessage |
string |
传达脚本配置错误或执行消息。 |
| executionState |
脚本执行状态。 |
|
| exitCode |
integer (int32) |
脚本执行返回的退出代码。 |
| output |
string |
脚本输出流。 |
| startTime |
string (date-time) |
脚本开始时间。 |
| statuses |
资源状态信息。 |
VirtualMachineRunCommandScriptSource
描述运行命令的脚本源。 仅使用以下脚本源之一:script、scriptUri、commandId、galleryScriptReferenceId。
| 名称 | 类型 | 说明 |
|---|---|---|
| commandId |
string |
指定预定义内置脚本的 commandId。 可用于 Linux 的命令 ID 列在 、 Windows 中https://aka.ms/RunCommandManagedLinux#available-commandshttps://aka.ms/RunCommandManagedWindows#available-commands。 |
| galleryScriptReferenceId |
string |
需要执行的库脚本版本的资源 ID。 示例 ID 类似于 /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.Compute/galleries/{galleryName}/scripts/{scriptName}/versions/{version}。 |
| script |
string |
指定要在 VM 上执行的脚本内容。 |
| scriptShell |
可选。 指定用于运行脚本的 shell。 这些值必须与扩展预期的值匹配。 目前仅支持 Windows VM,脚本在指定时使用 Powershell 7。 计算机上必须已安装 Powershell 7 才能使用 Powershell7 参数值。 |
|
| scriptUri |
string |
指定脚本下载位置。 它可以是具有读取访问权限或公共 URI 的 Azure 存储 Blob 的 SAS URI。 |
| scriptUriManagedIdentity |
对于 Azure 存储 Blob,用户分配的托管标识有权访问 scriptUri。 在系统分配的标识的情况下使用空对象。 确保 Azure 存储 Blob 存在,并且已向托管标识授予对具有“存储 Blob 数据读取者”角色分配的 Blob 容器的访问权限。 对于用户分配的标识,请确保将其添加到 VM 的标识下。 有关托管标识和运行命令的详细信息,请参阅 https://aka.ms/ManagedIdentity 和 https://aka.ms/RunCommandManaged。 |
VirtualMachineRunCommandsListResult
列表运行命令作响应
| 名称 | 类型 | 说明 |
|---|---|---|
| nextLink |
string (uri) |
用于提取下一页运行命令的 uri。 |
| value |
运行命令的列表。 |