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 |