다음을 통해 공유


Virtual Machine Run Commands - Create Or Update

실행 명령을 만들거나 업데이트하는 작업입니다.

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

URI 매개 변수

Name In(다음 안에) 필수 형식 Description
resourceGroupName
path True

string

리소스 그룹의 이름입니다.

runCommandName
path True

string

가상 머신 실행 명령의 이름입니다.

subscriptionId
path True

string

Microsoft Azure 구독을 고유하게 식별하는 구독 자격 증명입니다. 구독 ID는 모든 서비스 호출에 대한 URI의 일부를 형성합니다.

vmName
path True

string

실행 명령을 만들거나 업데이트해야 하는 가상 머신의 이름입니다.

api-version
query True

string

클라이언트 API 버전입니다.

요청 본문

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

Name 필수 형식 Description
location True

string

리소스 위치

properties.asyncExecution

boolean

선택적. true로 설정하면 스크립트가 시작되는 즉시 프로비전이 완료되고 스크립트가 완료될 때까지 기다리지 않습니다.

properties.errorBlobManagedIdentity

RunCommandManagedIdentity

errorBlobUri 스토리지 Blob에 대한 액세스 권한이 있는 사용자 할당 관리 ID입니다. 시스템 할당 ID의 경우 빈 개체를 사용합니다. 관리 ID에 'Storage Blob 데이터 기여자' 역할 할당을 사용하여 Blob의 컨테이너에 대한 액세스 권한이 부여되었는지 확인합니다. 사용자 할당 ID의 경우 VM의 ID 아래에 추가해야 합니다. 관리 ID 및 실행 명령에 대한 자세한 내용은 https://aka.ms/ManagedIdentity 참조하고 https://aka.ms/RunCommandManaged

properties.errorBlobUri

string

스크립트 오류 스트림이 업로드될 Azure Storage Blob을 지정합니다. 읽기, 추가, 만들기, 쓰기 액세스가 있는 SAS URI를 사용하거나 관리 ID를 사용하여 Blob에 대한 VM 액세스를 제공합니다. errorBlobManagedIdentity 매개 변수를 참조하세요.

properties.outputBlobManagedIdentity

RunCommandManagedIdentity

outputBlobUri 스토리지 Blob에 대한 액세스 권한이 있는 사용자 할당 관리 ID입니다. 시스템 할당 ID의 경우 빈 개체를 사용합니다. 관리 ID에 'Storage Blob 데이터 기여자' 역할 할당을 사용하여 Blob의 컨테이너에 대한 액세스 권한이 부여되었는지 확인합니다. 사용자 할당 ID의 경우 VM의 ID 아래에 추가해야 합니다. 관리 ID 및 실행 명령에 대한 자세한 내용은 https://aka.ms/ManagedIdentity 참조하고 https://aka.ms/RunCommandManaged

properties.outputBlobUri

string

스크립트 출력 스트림이 업로드될 Azure Storage Blob을 지정합니다. 읽기, 추가, 만들기, 쓰기 액세스가 있는 SAS URI를 사용하거나 관리 ID를 사용하여 Blob에 대한 VM 액세스를 제공합니다. outputBlobManagedIdentity 매개 변수를 참조하세요.

properties.parameters

RunCommandInputParameter[]

스크립트에서 사용하는 매개 변수입니다.

properties.protectedParameters

RunCommandInputParameter[]

스크립트에서 사용하는 매개 변수입니다.

properties.runAsPassword

string

실행 명령을 실행할 때 VM에서 사용자 계정 암호를 지정합니다.

properties.runAsUser

string

실행 명령을 실행할 때 VM의 사용자 계정을 지정합니다.

properties.source

VirtualMachineRunCommandScriptSource

실행 명령 스크립트의 소스입니다.

properties.timeoutInSeconds

integer

실행 명령을 실행할 시간 제한(초)입니다.

properties.treatFailureAsDeploymentFailure

boolean

선택적. true로 설정하면 스크립트에서 오류가 발생하면 배포가 실패하고 ProvisioningState가 실패로 표시됩니다. false로 설정하면 ProvisioningState는 실행 명령이 확장 플랫폼에서 실행되었는지 여부만 반영하며 스크립트 실패 시 스크립트가 실패했는지 여부를 나타내지 않습니다. 스크립트 실패 시 실행 명령의 인스턴스 보기를 참조하여 executionMessage, 출력, 오류를 확인합니다. https://aka.ms/runcommandmanaged#get-execution-status-and-results

tags

object

리소스 태그

응답

Name 형식 Description
200 OK

VirtualMachineRunCommand

그래

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

201 Created

VirtualMachineRunCommand

만든

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

Other Status Codes

CloudError

작업이 실패한 이유를 설명하는 오류 응답입니다.

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

보안

azure_auth

Azure Active Directory OAuth2 Flow

형식: oauth2
Flow: implicit
권한 부여 URL: https://login.microsoftonline.com/common/oauth2/authorize

범위

Name Description
user_impersonation 사용자 계정 가장

예제

Create or update a run command.

샘플 요청

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

{
  "location": "West US",
  "properties": {
    "source": {
      "scriptUri": "https://mystorageaccount.blob.core.windows.net/scriptcontainer/scriptURI"
    },
    "parameters": [
      {
        "name": "param1",
        "value": "value1"
      },
      {
        "name": "param2",
        "value": "value2"
      }
    ],
    "asyncExecution": false,
    "treatFailureAsDeploymentFailure": false,
    "runAsUser": "user1",
    "runAsPassword": "<runAsPassword>",
    "timeoutInSeconds": 3600,
    "outputBlobUri": "https://mystorageaccount.blob.core.windows.net/myscriptoutputcontainer/MyScriptoutput.txt",
    "errorBlobUri": "https://mystorageaccount.blob.core.windows.net/scriptcontainer/scriptURI",
    "outputBlobManagedIdentity": {
      "clientId": "22d35efb-0c99-4041-8c5b-6d24db33a69a"
    }
  }
}

샘플 응답

{
  "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": {
      "scriptUri": "https://mystorageaccount.blob.core.windows.net/scriptcontainer/MyScript.ps1"
    },
    "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"
  }
}
{
  "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": {
      "scriptUri": "https://mystorageaccount.blob.core.windows.net/scriptcontainer/MyScript.ps1"
    },
    "parameters": [
      {
        "name": "param1",
        "value": "value1"
      },
      {
        "name": "param2",
        "value": "value2"
      }
    ],
    "asyncExecution": false,
    "treatFailureAsDeploymentFailure": false,
    "runAsUser": "user1",
    "timeoutInSeconds": 3600,
    "provisioningState": "Creating",
    "outputBlobUri": "https://mystorageaccount.blob.core.windows.net/myscriptoutputcontainer/MyScriptoutput.txt",
    "errorBlobUri": "https://mystorageaccount.blob.core.windows.net/mycontainer/MyScriptError.txt"
  }
}

정의

Name Description
ApiError

API 오류입니다.

ApiErrorBase

API 오류 기준입니다.

CloudError

Compute 서비스의 오류 응답입니다.

ExecutionState

스크립트 실행 상태입니다.

InnerError

내부 오류 세부 정보입니다.

InstanceViewStatus

인스턴스 보기 상태입니다.

RunCommandInputParameter

실행 명령 매개 변수의 속성을 설명합니다.

RunCommandManagedIdentity

실행 명령에서 사용되는 스토리지 Blob에 대한 액세스 권한이 있는 사용자 할당 관리 ID의 clientId 또는 objectId(둘 다만 사용)를 포함합니다. 시스템 할당 ID의 경우 빈 RunCommandManagedIdentity 개체를 사용합니다. scriptUri의 경우 Azure Storage Blob이 있는지 확인하고, 관리 ID가 scriptUri Blob을 사용하여 'Storage Blob 데이터 판독기' 역할 할당 및 Append Blob(outputBlobUri, errorBlobUri)에 대한 'Storage Blob 데이터 기여자'를 사용하여 Blob의 컨테이너에 대한 액세스 권한을 부여했는지 확인합니다. 사용자 할당 ID의 경우 VM의 ID 아래에 추가해야 합니다. 관리 ID 및 실행 명령에 대한 자세한 내용은 https://aka.ms/ManagedIdentityhttps://aka.ms/RunCommandManaged참조하세요.

StatusLevelTypes

수준 코드입니다.

VirtualMachineRunCommand

Virtual Machine 실행 명령을 설명합니다.

VirtualMachineRunCommandInstanceView

가상 머신 실행 명령의 인스턴스 뷰입니다.

VirtualMachineRunCommandScriptSource

실행 명령에 대한 스크립트 원본에 대해 설명합니다. 스크립트, scriptUri, commandId 중 하나만 사용합니다.

ApiError

API 오류입니다.

Name 형식 Description
code

string

오류 코드입니다.

details

ApiErrorBase[]

API 오류 세부 정보

innererror

InnerError

API 내부 오류

message

string

오류 메시지입니다.

target

string

특정 오류의 대상입니다.

ApiErrorBase

API 오류 기준입니다.

Name 형식 Description
code

string

오류 코드입니다.

message

string

오류 메시지입니다.

target

string

특정 오류의 대상입니다.

CloudError

Compute 서비스의 오류 응답입니다.

Name 형식 Description
error

ApiError

API 오류입니다.

ExecutionState

스크립트 실행 상태입니다.

Name 형식 Description
Canceled

string

Failed

string

Pending

string

Running

string

Succeeded

string

TimedOut

string

Unknown

string

InnerError

내부 오류 세부 정보입니다.

Name 형식 Description
errordetail

string

내부 오류 메시지 또는 예외 덤프입니다.

exceptiontype

string

예외 형식입니다.

InstanceViewStatus

인스턴스 보기 상태입니다.

Name 형식 Description
code

string

상태 코드입니다.

displayStatus

string

상태에 대한 짧은 지역화 가능 레이블입니다.

level

StatusLevelTypes

수준 코드입니다.

message

string

경고 및 오류 메시지를 포함한 자세한 상태 메시지입니다.

time

string

상태의 시간입니다.

RunCommandInputParameter

실행 명령 매개 변수의 속성을 설명합니다.

Name 형식 Description
name

string

실행 명령 매개 변수 이름입니다.

value

string

실행 명령 매개 변수 값입니다.

RunCommandManagedIdentity

실행 명령에서 사용되는 스토리지 Blob에 대한 액세스 권한이 있는 사용자 할당 관리 ID의 clientId 또는 objectId(둘 다만 사용)를 포함합니다. 시스템 할당 ID의 경우 빈 RunCommandManagedIdentity 개체를 사용합니다. scriptUri의 경우 Azure Storage Blob이 있는지 확인하고, 관리 ID가 scriptUri Blob을 사용하여 'Storage Blob 데이터 판독기' 역할 할당 및 Append Blob(outputBlobUri, errorBlobUri)에 대한 'Storage Blob 데이터 기여자'를 사용하여 Blob의 컨테이너에 대한 액세스 권한을 부여했는지 확인합니다. 사용자 할당 ID의 경우 VM의 ID 아래에 추가해야 합니다. 관리 ID 및 실행 명령에 대한 자세한 내용은 https://aka.ms/ManagedIdentityhttps://aka.ms/RunCommandManaged참조하세요.

Name 형식 Description
clientId

string

사용자가 할당한 관리 ID의 클라이언트 ID(GUID 값)입니다. ObjectId가 제공되면 사용하지 않아야 합니다.

objectId

string

사용자가 할당한 관리 ID의 개체 ID(GUID 값)입니다. 제공된 경우 ClientId를 사용하면 안 됩니다.

StatusLevelTypes

수준 코드입니다.

Name 형식 Description
Error

string

Info

string

Warning

string

VirtualMachineRunCommand

Virtual Machine 실행 명령을 설명합니다.

Name 형식 Default value Description
id

string

리소스 ID

location

string

리소스 위치

name

string

리소스 이름

properties.asyncExecution

boolean

False

선택적. true로 설정하면 스크립트가 시작되는 즉시 프로비전이 완료되고 스크립트가 완료될 때까지 기다리지 않습니다.

properties.errorBlobManagedIdentity

RunCommandManagedIdentity

errorBlobUri 스토리지 Blob에 대한 액세스 권한이 있는 사용자 할당 관리 ID입니다. 시스템 할당 ID의 경우 빈 개체를 사용합니다. 관리 ID에 'Storage Blob 데이터 기여자' 역할 할당을 사용하여 Blob의 컨테이너에 대한 액세스 권한이 부여되었는지 확인합니다. 사용자 할당 ID의 경우 VM의 ID 아래에 추가해야 합니다. 관리 ID 및 실행 명령에 대한 자세한 내용은 https://aka.ms/ManagedIdentity 참조하고 https://aka.ms/RunCommandManaged

properties.errorBlobUri

string

스크립트 오류 스트림이 업로드될 Azure Storage Blob을 지정합니다. 읽기, 추가, 만들기, 쓰기 액세스가 있는 SAS URI를 사용하거나 관리 ID를 사용하여 Blob에 대한 VM 액세스를 제공합니다. errorBlobManagedIdentity 매개 변수를 참조하세요.

properties.instanceView

VirtualMachineRunCommandInstanceView

가상 머신 실행 명령 인스턴스 보기입니다.

properties.outputBlobManagedIdentity

RunCommandManagedIdentity

outputBlobUri 스토리지 Blob에 대한 액세스 권한이 있는 사용자 할당 관리 ID입니다. 시스템 할당 ID의 경우 빈 개체를 사용합니다. 관리 ID에 'Storage Blob 데이터 기여자' 역할 할당을 사용하여 Blob의 컨테이너에 대한 액세스 권한이 부여되었는지 확인합니다. 사용자 할당 ID의 경우 VM의 ID 아래에 추가해야 합니다. 관리 ID 및 실행 명령에 대한 자세한 내용은 https://aka.ms/ManagedIdentity 참조하고 https://aka.ms/RunCommandManaged

properties.outputBlobUri

string

스크립트 출력 스트림이 업로드될 Azure Storage Blob을 지정합니다. 읽기, 추가, 만들기, 쓰기 액세스가 있는 SAS URI를 사용하거나 관리 ID를 사용하여 Blob에 대한 VM 액세스를 제공합니다. outputBlobManagedIdentity 매개 변수를 참조하세요.

properties.parameters

RunCommandInputParameter[]

스크립트에서 사용하는 매개 변수입니다.

properties.protectedParameters

RunCommandInputParameter[]

스크립트에서 사용하는 매개 변수입니다.

properties.provisioningState

string

응답에만 표시되는 프로비전 상태입니다. treatFailureAsDeploymentFailure가 true로 설정된 경우 스크립트의 모든 오류는 배포에 실패하고 ProvisioningState는 실패로 표시됩니다. treatFailureAsDeploymentFailure가 false로 설정된 경우 ProvisioningState는 실행 명령이 확장 플랫폼에서 실행되었는지 여부만 반영하며 스크립트 실패 시 스크립트가 실패했는지 여부를 나타내지 않습니다. 스크립트 실패 시 실행 명령의 인스턴스 보기를 참조하여 executionMessage, 출력, 오류를 확인합니다. https://aka.ms/runcommandmanaged#get-execution-status-and-results

properties.runAsPassword

string

실행 명령을 실행할 때 VM에서 사용자 계정 암호를 지정합니다.

properties.runAsUser

string

실행 명령을 실행할 때 VM의 사용자 계정을 지정합니다.

properties.source

VirtualMachineRunCommandScriptSource

실행 명령 스크립트의 소스입니다.

properties.timeoutInSeconds

integer

실행 명령을 실행할 시간 제한(초)입니다.

properties.treatFailureAsDeploymentFailure

boolean

False

선택적. true로 설정하면 스크립트에서 오류가 발생하면 배포가 실패하고 ProvisioningState가 실패로 표시됩니다. false로 설정하면 ProvisioningState는 실행 명령이 확장 플랫폼에서 실행되었는지 여부만 반영하며 스크립트 실패 시 스크립트가 실패했는지 여부를 나타내지 않습니다. 스크립트 실패 시 실행 명령의 인스턴스 보기를 참조하여 executionMessage, 출력, 오류를 확인합니다. https://aka.ms/runcommandmanaged#get-execution-status-and-results

tags

object

리소스 태그

type

string

리소스 종류

VirtualMachineRunCommandInstanceView

가상 머신 실행 명령의 인스턴스 뷰입니다.

Name 형식 Description
endTime

string

스크립트 종료 시간입니다.

error

string

스크립트 오류 스트림입니다.

executionMessage

string

스크립트 구성 오류 또는 실행 메시지를 전달합니다.

executionState

ExecutionState

스크립트 실행 상태입니다.

exitCode

integer

스크립트 실행에서 반환된 종료 코드입니다.

output

string

출력 스트림을 스크립터합니다.

startTime

string

스크립트 시작 시간입니다.

statuses

InstanceViewStatus[]

리소스 상태 정보입니다.

VirtualMachineRunCommandScriptSource

실행 명령에 대한 스크립트 원본에 대해 설명합니다. 스크립트, scriptUri, commandId 중 하나만 사용합니다.

Name 형식 Description
commandId

string

미리 정의된 기본 제공 스크립트의 commandId를 지정합니다.

script

string

VM에서 실행할 스크립트 콘텐츠를 지정합니다.

scriptUri

string

스크립트 다운로드 위치를 지정합니다. 읽기 액세스 권한이 있는 Azure Storage Blob의 SAS URI 또는 공용 URI일 수 있습니다.

scriptUriManagedIdentity

RunCommandManagedIdentity

Azure Storage Blob의 경우 scriptUri에 액세스할 수 있는 사용자 할당 관리 ID입니다. 시스템 할당 ID의 경우 빈 개체를 사용합니다. Azure Storage Blob이 있는지 확인하고 관리 ID에 'Storage Blob 데이터 판독기' 역할 할당을 사용하여 Blob의 컨테이너에 대한 액세스 권한이 부여되었는지 확인합니다. 사용자 할당 ID의 경우 VM의 ID 아래에 추가해야 합니다. 관리 ID 및 실행 명령에 대한 자세한 내용은 https://aka.ms/ManagedIdentityhttps://aka.ms/RunCommandManaged참조하세요.