다음을 통해 공유


Invoke-AzVMRunCommand

VM에서 명령을 실행합니다.

구문

Invoke-AzVMRunCommand
      [-ResourceGroupName] <String>
      [-VMName] <String>
      -CommandId <String>
      [-ScriptPath <String>]
      [-ScriptString <String>]
      [-Parameter <Hashtable>]
      [-AsJob]
      [-DefaultProfile <IAzureContextContainer>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Invoke-AzVMRunCommand
      -CommandId <String>
      [-ScriptPath <String>]
      [-ScriptString <String>]
      [-Parameter <Hashtable>]
      [-ResourceId] <String>
      [-AsJob]
      [-DefaultProfile <IAzureContextContainer>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Invoke-AzVMRunCommand
      -CommandId <String>
      [-ScriptPath <String>]
      [-ScriptString <String>]
      [-Parameter <Hashtable>]
      [-VM] <PSVirtualMachine>
      [-AsJob]
      [-DefaultProfile <IAzureContextContainer>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]

Description

VM에서 실행 명령을 호출합니다.

예제

예제 1: Windows에서 명령 호출 - 스크립트가 원격 Windows VM에 있을 때 ScriptPath 매개 변수 사용

Invoke-AzVMRunCommand -ResourceGroupName 'rgname' -VMName 'vmname' -CommandId 'RunPowerShellScript' -ScriptPath 'sample.ps1' -Parameter @{param1 = "var1"; param2 = "var2"}

리소스 그룹 'rgname'의 'vmname'이라는 Windows VM에서 스크립트 'sample.ps1'을 재정의하여 'RunPowerShellScript' 실행 명령을 호출합니다. Var1 및 var2는 sample.ps1에서 매개 변수로 정의됩니다. 매개 변수 값은 문자열 형식일 수 있으며 스크립트는 필요한 경우 다른 형식으로 변환합니다.

예제 2: Windows에서 명령 호출 - ScriptString 매개 변수를 사용하여 Windows VM에서 cmdlet 실행

Invoke-AzVMRunCommand -ResourceGroupName 'rgname' -VMName 'vmname' -CommandId 'RunPowerShellScript' -ScriptString "Set-TimeZone -Name 'Coordinated Universal Time' -PassThru"

이 명령은 연결된 매개 변수를 사용하여 cmdlet Set-TimeZone을 실행하는 실행 명령 'RunShellScript'를 호출합니다. 이 예제는 Windows VM에서 짧은 명령을 실행하려는 경우에 유용합니다.

예제 3: Windows에서 명령 호출 - ScriptString 매개 변수를 사용하여 Windows VM에서 스크립트 블록 실행

$ScriptBlock = {
    param(
        [string] $NewTimeZone,
        [string] $NewDate
        )
    Set-TimeZone -Id $NewTimeZone
    Set-Date -Date [DateTime]$NewDate
}

$Script = [scriptblock]::create($ScriptBlock)

Invoke-AzVMRunCommand -ResourceGroupName 'rgname' -VMName 'vmname' -CommandId 'RunPowerShellScript' -ScriptString $Script -Parameter @{'NewTimeZone' = "UTC"; 'NewDate' = "Dec-8"}

이 명령은 'vmname'이라는 원격 Windows VM에서 스크립트 블록을 실행하는 실행 명령 'RunShellScript'를 호출합니다. 스크립트 블록 방법을 사용하면 단일 호출에서 매개 변수를 사용하여 여러 cmdlet을 실행할 수 있으며 다른 cmdlet에 대해 여러 실행 명령을 호출하는 데 시간을 절약할 수 있습니다. 매개 변수 값은 문자열 형식일 수 있습니다.

예제 4: Linux에서 명령 호출

export param1=var1 param2=var2
set -- var1 var2 var3

Invoke-AzVMRunCommand -ResourceGroupName 'rgname' -Name 'vmname' -CommandId 'RunShellScript' -ScriptPath 'sample.bash' -Parameter @{"param1" = "var1";"param2" = "var2"}
echo This is a sample bash script
echo Usage 1: Ordered parameters: $0 $1
echo Usage 2: Named exports: $var1 $var2

이 명령은 'vmname'이라는 Linux VM에서 'sample.bash' 스크립트를 재정의하여 실행 명령 'RunShellScript'를 호출합니다. Var1 및 var2는 sample.bash에서 매개 변수로 정의됩니다.

매개 변수

-AsJob

백그라운드에서 cmdlet을 실행하고 작업 개체를 반환하여 진행률을 추적합니다.

형식:SwitchParameter
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-CommandId

실행 명령 ID입니다.

형식:String
Position:Named
Default value:None
필수:True
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Confirm

cmdlet을 실행하기 전에 확인 메시지가 표시됩니다.

형식:SwitchParameter
별칭:cf
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-DefaultProfile

Azure와의 통신에 사용되는 자격 증명, 계정, 테넌트 및 구독입니다.

형식:IAzureContextContainer
별칭:AzContext, AzureRmContext, AzureCredential
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Parameter

실행 명령 매개 변수입니다. 스크립트 실행 시 전달할 키/값 쌍으로 매개 변수를 지정합니다.

형식:Hashtable
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-ResourceGroupName

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

형식:String
Position:0
Default value:None
필수:True
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-ResourceId

VM의 리소스 ID입니다.

형식:String
Position:0
Default value:None
필수:True
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-ScriptPath

실행할 스크립트의 경로입니다. 이 값을 지정하면 지정된 스크립트가 명령의 기본 스크립트를 재정의합니다. 경로는 로컬 파일 시스템에서 파일을 가리킵니다. 명령은 이를 로드하고 실행을 위해 보냅니다.

형식:String
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-ScriptString

문자열로 실행할 스크립트입니다.

형식:String
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-VM

PS 가상 머신 개체입니다.

형식:PSVirtualMachine
별칭:VMProfile
Position:0
Default value:None
필수:True
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-VMName

가상 컴퓨터의 이름입니다.

형식:String
별칭:Name
Position:1
Default value:None
필수:True
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-WhatIf

cmdlet이 실행될 경우 결과 동작을 표시합니다. cmdlet이 실행되지 않습니다.

형식:SwitchParameter
별칭:wi
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

입력

String

PSVirtualMachine

출력

PSRunCommandResult