다음을 통해 공유


Invoke-AzVMRunCommand

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

구문

DefaultParameter (기본값)

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

ResourceIdParameter

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

VMParameter

Invoke-AzVMRunCommand
    [-VM] <PSVirtualMachine>
    -CommandId <String>
    [-ScriptPath <String>]
    [-ScriptString <String>]
    [-Parameter <Hashtable>]
    [-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
Default value:None
와일드카드 지원:False
DontShow:False

매개 변수 집합

(All)
Position:Named
필수:False
파이프라인의 값:False
속성 이름별 파이프라인의 값:False
나머지 인수의 값:False

-CommandId

실행 명령 ID입니다.

매개 변수 속성

형식:String
Default value:None
와일드카드 지원:False
DontShow:False

매개 변수 집합

(All)
Position:Named
필수:True
파이프라인의 값:False
속성 이름별 파이프라인의 값:False
나머지 인수의 값:False

-Confirm

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

매개 변수 속성

형식:SwitchParameter
Default value:None
와일드카드 지원:False
DontShow:False
별칭:cf(cf)

매개 변수 집합

(All)
Position:Named
필수:False
파이프라인의 값:False
속성 이름별 파이프라인의 값:False
나머지 인수의 값:False

-DefaultProfile

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

매개 변수 속성

형식:IAzureContextContainer
Default value:None
와일드카드 지원:False
DontShow:False
별칭:AzContext, AzureRmContext, AzureCredential

매개 변수 집합

(All)
Position:Named
필수:False
파이프라인의 값:False
속성 이름별 파이프라인의 값:False
나머지 인수의 값:False

-Parameter

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

매개 변수 속성

형식:Hashtable
Default value:None
와일드카드 지원:False
DontShow:False

매개 변수 집합

(All)
Position:Named
필수:False
파이프라인의 값:False
속성 이름별 파이프라인의 값:False
나머지 인수의 값:False

-ResourceGroupName

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

매개 변수 속성

형식:String
Default value:None
와일드카드 지원:False
DontShow:False

매개 변수 집합

DefaultParameter
Position:0
필수:True
파이프라인의 값:False
속성 이름별 파이프라인의 값:True
나머지 인수의 값:False

-ResourceId

VM의 리소스 ID입니다.

매개 변수 속성

형식:String
Default value:None
와일드카드 지원:False
DontShow:False

매개 변수 집합

ResourceIdParameter
Position:0
필수:True
파이프라인의 값:False
속성 이름별 파이프라인의 값:True
나머지 인수의 값:False

-ScriptPath

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

매개 변수 속성

형식:String
Default value:None
와일드카드 지원:False
DontShow:False

매개 변수 집합

(All)
Position:Named
필수:False
파이프라인의 값:False
속성 이름별 파이프라인의 값:False
나머지 인수의 값:False

-ScriptString

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

매개 변수 속성

형식:String
Default value:None
와일드카드 지원:False
DontShow:False

매개 변수 집합

(All)
Position:Named
필수:False
파이프라인의 값:False
속성 이름별 파이프라인의 값:False
나머지 인수의 값:False

-VM

PS 가상 머신 개체입니다.

매개 변수 속성

형식:PSVirtualMachine
Default value:None
와일드카드 지원:False
DontShow:False
별칭:VMProfile

매개 변수 집합

VMParameter
Position:0
필수:True
파이프라인의 값:True
속성 이름별 파이프라인의 값:True
나머지 인수의 값:False

-VMName

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

매개 변수 속성

형식:String
Default value:None
와일드카드 지원:False
DontShow:False
별칭:이름

매개 변수 집합

DefaultParameter
Position:1
필수:True
파이프라인의 값:False
속성 이름별 파이프라인의 값:True
나머지 인수의 값:False

-WhatIf

cmdlet이 실행되면 어떻게 되는지 보여 주세요. cmdlet이 실행되지 않습니다.

매개 변수 속성

형식:SwitchParameter
Default value:None
와일드카드 지원:False
DontShow:False
별칭:위스콘신

매개 변수 집합

(All)
Position:Named
필수:False
파이프라인의 값:False
속성 이름별 파이프라인의 값:False
나머지 인수의 값:False

CommonParameters

이 cmdlet은 일반적인 매개 변수인 -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction 및 -WarningVariable 매개 변수를 지원합니다. 자세한 내용은 about_CommonParameters를 참조하세요.

입력

String

PSVirtualMachine

출력

PSRunCommandResult