你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Virtual Machine Run Commands - Get By Virtual Machine
用于获取 run 命令的操作。
GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/runCommands/{runCommandName}?api-version=2024-07-01
GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/runCommands/{runCommandName}?$expand={$expand}&api-version=2024-07-01
URI 参数
名称 | 在 | 必需 | 类型 | 说明 |
---|---|---|---|---|
resource
|
path | True |
string |
资源组的名称。 |
run
|
path | True |
string |
虚拟机运行命令的名称。 |
subscription
|
path | True |
string |
唯一标识 azure 订阅Microsoft的订阅凭据。 订阅 ID 构成了每个服务调用的 URI 的一部分。 |
vm
|
path | True |
string |
包含 run 命令的虚拟机的名称。 |
api-version
|
query | True |
string |
客户端 API 版本。 |
$expand
|
query |
string |
要应用于操作的展开表达式。 |
响应
名称 | 类型 | 说明 |
---|---|---|
200 OK |
还行 Media Types: "application/json", "text/json" |
|
Other Status Codes |
描述操作失败的原因的错误响应。 Media Types: "application/json", "text/json" |
安全性
azure_auth
Azure Active Directory OAuth2 Flow
类型:
oauth2
流向:
implicit
授权 URL:
https://login.microsoftonline.com/common/oauth2/authorize
作用域
名称 | 说明 |
---|---|
user_impersonation | 模拟用户帐户 |
示例
Get a run command.
示例请求
示例响应
{
"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": "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 |
来自计算服务的错误响应。 |
Execution |
脚本执行状态。 |
Inner |
内部错误详细信息。 |
Instance |
实例视图状态。 |
Run |
描述 run 命令参数的属性。 |
Run |
包含用户分配的托管标识的 clientId 或 objectId(只使用一个,而不是两者),该标识有权访问 Run Command 中使用的存储 Blob。 对于系统分配的标识,请使用空的 RunCommandManagedIdentity 对象。 确保在 scriptUri 的情况下存在 Azure 存储 Blob,并且已向托管标识授予对具有 scriptUri blob 的“存储 Blob 数据读取者”角色分配的 Blob 容器的访问权限,并为追加 blob 分配“存储 Blob 数据参与者”(outputBlobUri,errorBlobUri)。 对于用户分配的标识,请确保将其添加到 VM 的标识下。 有关托管标识和运行命令的详细信息,请参阅 https://aka.ms/ManagedIdentity 和 https://aka.ms/RunCommandManaged。 |
Status |
级别代码。 |
Virtual |
描述虚拟机运行命令。 |
Virtual |
虚拟机运行命令的实例视图。 |
Virtual |
描述用于运行命令的脚本源。 仅使用脚本之一 scriptUri、commandId。 |
ApiError
Api 错误。
名称 | 类型 | 说明 |
---|---|---|
code |
string |
错误代码。 |
details |
API 错误详细信息 |
|
innererror |
Api 内部错误 |
|
message |
string |
错误消息。 |
target |
string |
特定错误的目标。 |
ApiErrorBase
Api 错误基数。
名称 | 类型 | 说明 |
---|---|---|
code |
string |
错误代码。 |
message |
string |
错误消息。 |
target |
string |
特定错误的目标。 |
CloudError
来自计算服务的错误响应。
名称 | 类型 | 说明 |
---|---|---|
error |
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 |
级别代码。 |
|
message |
string |
详细状态消息,包括警报和错误消息。 |
time |
string |
状态的时间。 |
RunCommandInputParameter
描述 run 命令参数的属性。
名称 | 类型 | 说明 |
---|---|---|
name |
string |
run 命令参数名称。 |
value |
string |
run 命令参数值。 |
RunCommandManagedIdentity
包含用户分配的托管标识的 clientId 或 objectId(只使用一个,而不是两者),该标识有权访问 Run Command 中使用的存储 Blob。 对于系统分配的标识,请使用空的 RunCommandManagedIdentity 对象。 确保在 scriptUri 的情况下存在 Azure 存储 Blob,并且已向托管标识授予对具有 scriptUri blob 的“存储 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。 |
StatusLevelTypes
级别代码。
名称 | 类型 | 说明 |
---|---|---|
Error |
string |
|
Info |
string |
|
Warning |
string |
VirtualMachineRunCommand
描述虚拟机运行命令。
名称 | 类型 | 默认值 | 说明 |
---|---|---|---|
id |
string |
资源 ID |
|
location |
string |
资源位置 |
|
name |
string |
资源名称 |
|
properties.asyncExecution |
boolean |
False |
自选。 如果设置为 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 命令是否由扩展平台运行,则不会指示脚本在脚本失败时是否失败。 如果脚本失败,请参阅 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 |
执行 run 命令的超时(以秒为单位)。 |
|
properties.treatFailureAsDeploymentFailure |
boolean |
False |
自选。 如果设置为 true,脚本中的任何失败都将失败,并且 ProvisioningState 将标记为“失败”。 如果设置为 false,ProvisioningState 将仅反映运行命令是否由扩展平台运行,则不会指示脚本在脚本失败时是否失败。 如果脚本失败,请参阅 run 命令的实例视图,以查看 executionMessage、输出、错误:https://aka.ms/runcommandmanaged#get-execution-status-and-results |
tags |
object |
资源标记 |
|
type |
string |
资源类型 |
VirtualMachineRunCommandInstanceView
虚拟机运行命令的实例视图。
名称 | 类型 | 说明 |
---|---|---|
endTime |
string |
脚本结束时间。 |
error |
string |
脚本错误流。 |
executionMessage |
string |
传达脚本配置错误或执行消息。 |
executionState |
脚本执行状态。 |
|
exitCode |
integer |
退出从脚本执行返回的代码。 |
output |
string |
脚本输出流。 |
startTime |
string |
脚本开始时间。 |
statuses |
资源状态信息。 |
VirtualMachineRunCommandScriptSource
描述用于运行命令的脚本源。 仅使用脚本之一 scriptUri、commandId。
名称 | 类型 | 说明 |
---|---|---|
commandId |
string |
指定预定义内置脚本的 commandId。 |
script |
string |
指定要在 VM 上执行的脚本内容。 |
scriptUri |
string |
指定脚本下载位置。 它可以是具有读取访问权限或公共 URI 的 Azure 存储 Blob 的 SAS URI。 |
scriptUriManagedIdentity |
对于 Azure 存储 Blob,用户分配的托管标识有权访问 scriptUri。 在系统分配的标识的情况下使用空对象。 确保 Azure 存储 Blob 存在,并且已向托管标识授予对具有“存储 Blob 数据读取者”角色分配的 Blob 容器的访问权限。 对于用户分配的标识,请确保将其添加到 VM 的标识下。 有关托管标识和运行命令的详细信息,请参阅 https://aka.ms/ManagedIdentity 和 https://aka.ms/RunCommandManaged。 |