Machine Run Commands - Create Or Update
用于创建或更新运行命令的作。
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/runCommands/{runCommandName}?api-version=2025-01-13
		URI 参数
| 名称 | 在 | 必需 | 类型 | 说明 | 
|---|---|---|---|---|
| 
						 machine 
					 | 
					path | True | 
			 string pattern: [a-zA-Z0-9-_\.]+ | 
					
						 混合计算机的名称。  | 
				
| 
						 resource 
					 | 
					path | True | 
			 string minLength: 1maxLength: 90  | 
					
						 资源组的名称。 名称不区分大小写。  | 
				
| 
						 run 
					 | 
					path | True | 
			 string pattern: [a-zA-Z0-9-_\.]+ | 
					
						 run 命令的名称。  | 
				
| 
						 subscription 
					 | 
					path | True | 
			 string minLength: 1 | 
					
						 目标订阅的 ID。  | 
				
| 
						 api-version 
					 | 
					query | True | 
			 string minLength: 1 | 
					
						 用于此作的 API 版本。  | 
				
请求正文
| 名称 | 必需 | 类型 | 说明 | 
|---|---|---|---|
| location | True | 
			 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.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.runAsPassword | 
			 string  | 
	
		 在执行 run 命令时,指定计算机上的用户帐户密码。  | 
|
| properties.runAsUser | 
			 string  | 
	
		 在执行 run 命令时,指定计算机上的用户帐户。  | 
|
| properties.source | 
		 运行命令脚本的源。  | 
||
| properties.timeoutInSeconds | 
			 integer (int32)  | 
	
		 执行 run 命令的超时(以秒为单位)。  | 
|
| tags | 
			 object  | 
	
		 资源标记。  | 
响应
| 名称 | 类型 | 说明 | 
|---|---|---|
| 200 OK | 
		 更新的资源  | 
|
| 201 Created | 
		 创建 标头 
  | 
|
| Other Status Codes | 
		 描述作失败的原因的错误响应。  | 
安全性
azure_auth
Azure Active Directory OAuth2 流
					类型: 
					oauth2
					流向: 
					implicit
					授权 URL: 
					https://login.microsoftonline.com/common/oauth2/authorize
			
作用域
| 名称 | 说明 | 
|---|---|
| user_impersonation | 模拟用户帐户 | 
示例
Create or Update a Run Command
示例请求
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/machines/myMachine/runCommands/myRunCommand?api-version=2025-01-13
{
  "location": "eastus2",
  "properties": {
    "source": {
      "script": "Write-Host Hello World!"
    },
    "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/MyScriptoutput.txt",
    "errorBlobUri": "https://mystorageaccount.blob.core.windows.net/mycontainer/MyScriptError.txt"
  }
}
示例响应
{
  "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/Machines/myMachine/runcommands/myRunCommand",
  "name": "myRunCommand",
  "type": "Microsoft.HybridCompute/machines/runcommands",
  "location": "eastus2",
  "properties": {
    "source": {
      "script": "Write-Host Hello World!"
    },
    "parameters": [
      {
        "name": "param1",
        "value": "value1"
      },
      {
        "name": "param2",
        "value": "value2"
      }
    ],
    "asyncExecution": false,
    "runAsUser": "user1",
    "timeoutInSeconds": 3600,
    "outputBlobUri": "https://mystorageaccount.blob.core.windows.net/myscriptoutputcontainer/MyScriptoutput.txt",
    "errorBlobUri": "https://mystorageaccount.blob.core.windows.net/mycontainer/MyScriptError.txt",
    "provisioningState": "Succeeded"
  }
}
						
							Location: {callbackUrl}
Retry-After: 200
Azure-AsyncOperation: {callbackUri}
								
							{
  "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/Machines/myMachine/runcommands/myRunCommand",
  "name": "myRunCommand",
  "type": "Microsoft.HybridCompute/machines/runcommands",
  "location": "eastus2",
  "properties": {
    "source": {
      "script": "Write-Host Hello World!"
    },
    "parameters": [
      {
        "name": "param1",
        "value": "value1"
      },
      {
        "name": "param2",
        "value": "value2"
      }
    ],
    "asyncExecution": false,
    "runAsUser": "user1",
    "timeoutInSeconds": 3600,
    "outputBlobUri": "https://mystorageaccount.blob.core.windows.net/myscriptoutputcontainer/MyScriptoutput.txt",
    "errorBlobUri": "https://mystorageaccount.blob.core.windows.net/mycontainer/MyScriptError.txt",
    "provisioningState": "Creating"
  }
}
				定义
| 名称 | 说明 | 
|---|---|
| 
							created | 
						
							 创建资源的标识的类型。  | 
					
| 
							Error | 
						
							 资源管理错误附加信息。  | 
					
| 
							Error | 
						
							 错误详细信息。  | 
					
| 
							Error | 
						
							 错误响应  | 
					
| 
							Execution | 
						
							 脚本执行状态。  | 
					
| 
							Extensions | 
						
							 实例视图状态。  | 
					
| 
							Extensions | 
						
							 级别代码。  | 
					
| 
							Machine | 
						
							 描述运行命令  | 
					
| 
							Machine | 
						
							 计算机运行命令的实例视图。  | 
					
| 
							Machine | 
						
							 描述用于运行命令的脚本源。 仅使用脚本之一 scriptUri、commandId。  | 
					
| 
							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。  | 
					
| 
							system | 
						
							 与创建和上次修改资源相关的元数据。  | 
					
createdByType 
			
			创建资源的标识的类型。
| 值 | 说明 | 
|---|---|
| User | |
| Application | |
| ManagedIdentity | |
| Key | 
ErrorAdditionalInfo  
			
			资源管理错误附加信息。
| 名称 | 类型 | 说明 | 
|---|---|---|
| info | 
			 object  | 
	
		 其他信息。  | 
| type | 
			 string  | 
	
		 其他信息类型。  | 
ErrorDetail 
			
			错误详细信息。
| 名称 | 类型 | 说明 | 
|---|---|---|
| additionalInfo | 
		 错误附加信息。  | 
|
| code | 
			 string  | 
	
		 错误代码。  | 
| details | 
		 错误详细信息。  | 
|
| message | 
			 string  | 
	
		 错误消息。  | 
| target | 
			 string  | 
	
		 错误目标。  | 
ErrorResponse 
			
			错误响应
| 名称 | 类型 | 说明 | 
|---|---|---|
| error | 
		 错误对象。  | 
ExecutionState 
			
			脚本执行状态。
| 值 | 说明 | 
|---|---|
| Unknown | |
| Pending | |
| Running | |
| Failed | |
| Succeeded | |
| TimedOut | |
| Canceled | 
ExtensionsResourceStatus  
			
			实例视图状态。
| 名称 | 类型 | 说明 | 
|---|---|---|
| code | 
			 string  | 
	
		 状态代码。  | 
| displayStatus | 
			 string  | 
	
		 状态的简短可本地化标签。  | 
| level | 
		 级别代码。  | 
|
| message | 
			 string  | 
	
		 详细状态消息,包括警报和错误消息。  | 
| time | 
			 string (date-time)  | 
	
		 状态的时间。  | 
ExtensionsStatusLevelTypes   
			
			级别代码。
| 值 | 说明 | 
|---|---|
| Info | |
| Warning | |
| Error | 
MachineRunCommand  
			
			描述运行命令
| 名称 | 类型 | 默认值 | 说明 | 
|---|---|---|---|
| id | 
			 string  | 
    
		 资源的完全限定资源 ID。 示例 - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}  | 
|
| 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  | 
    
		 预配状态,仅出现在响应中。  | 
|
| properties.runAsPassword | 
			 string  | 
    
		 在执行 run 命令时,指定计算机上的用户帐户密码。  | 
|
| properties.runAsUser | 
			 string  | 
    
		 在执行 run 命令时,指定计算机上的用户帐户。  | 
|
| properties.source | 
		 运行命令脚本的源。  | 
||
| properties.timeoutInSeconds | 
			 integer (int32)  | 
    
		 执行 run 命令的超时(以秒为单位)。  | 
|
| systemData | 
		 包含 createdBy 和 modifiedBy 信息的 Azure 资源管理器元数据。  | 
||
| tags | 
			 object  | 
    
		 资源标记。  | 
|
| type | 
			 string  | 
    
		 资源的类型。 例如“Microsoft.Compute/virtualMachines”或“Microsoft.Storage/storageAccounts”  | 
MachineRunCommandInstanceView    
			
			计算机运行命令的实例视图。
| 名称 | 类型 | 说明 | 
|---|---|---|
| endTime | 
			 string (date-time)  | 
	
		 脚本结束时间。  | 
| error | 
			 string  | 
	
		 脚本错误流。  | 
| executionMessage | 
			 string  | 
	
		 传达脚本配置错误或执行消息。  | 
| executionState | 
		 脚本执行状态。  | 
|
| exitCode | 
			 integer (int32)  | 
	
		 退出从脚本执行返回的代码。  | 
| output | 
			 string  | 
	
		 脚本输出流。  | 
| startTime | 
			 string (date-time)  | 
	
		 脚本开始时间。  | 
| statuses | 
		 状态信息。  | 
MachineRunCommandScriptSource    
			
			描述用于运行命令的脚本源。 仅使用脚本之一 scriptUri、commandId。
| 名称 | 类型 | 说明 | 
|---|---|---|
| commandId | 
			 string  | 
	
		 指定预定义内置脚本的 commandId。  | 
| script | 
			 string  | 
	
		 指定要在计算机上执行的脚本内容。  | 
| scriptUri | 
			 string  | 
	
		 指定脚本下载位置。 它可以是具有读取访问权限或公共 URI 的 Azure 存储 Blob 的 SAS URI。  | 
| scriptUriManagedIdentity | 
		 对于 Azure 存储 Blob,用户分配的托管标识有权访问 scriptUri。 在系统分配的标识的情况下使用空对象。 确保 Azure 存储 Blob 存在,并且已向托管标识授予对具有“存储 Blob 数据读取者”角色分配的 Blob 容器的访问权限。 对于用户分配的标识,请确保将其添加到 VM 的标识下。 有关托管标识和运行命令的详细信息,请参阅 https://aka.ms/ManagedIdentity 和 https://aka.ms/RunCommandManaged。  | 
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。  | 
systemData 
			
			与创建和上次修改资源相关的元数据。
| 名称 | 类型 | 说明 | 
|---|---|---|
| createdAt | 
			 string (date-time)  | 
	
		 资源创建时间戳(UTC)。  | 
| createdBy | 
			 string  | 
	
		 创建资源的标识。  | 
| createdByType | 
		 创建资源的标识的类型。  | 
|
| lastModifiedAt | 
			 string (date-time)  | 
	
		 上次修改的资源时间戳(UTC)  | 
| lastModifiedBy | 
			 string  | 
	
		 上次修改资源的标识。  | 
| lastModifiedByType | 
		 上次修改资源的标识的类型。  |