적용 대상: ✔️ Windows VM ✔️ 유연한 확장 집합
중요
관리형 실행 명령은 현재 Azure CLI, PowerShell 및 API에서 사용할 수 있습니다. 포털 기능은 로드맵에 있습니다.
명령 실행 기능은 VM(가상 머신) 에이전트를 사용하여 Azure Windows VM 내에서 스크립트를 실행합니다. 이러한 스크립트는 일반 머신 또는 애플리케이션 관리에 사용할 수 있습니다. 이를 통해 VM 액세스 및 네트워크 문제를 신속하게 진단 및 수정하고 VM을 정상 상태로 되돌릴 수 있습니다.
업데이트된 관리형 실행 명령은 동일한 VM 에이전트 채널을 사용하여 스크립트를 실행하고 원래 작업 지향 실행 명령에 비해 다음과 같은 향상된 기능을 제공합니다.
- ARM 배포 템플릿을 통해 업데이트된 실행 명령 지원
- 여러 스크립트의 병렬 실행
- 스크립트의 순차적 실행
- 사용자 지정 스크립트 시간 초과
- 장기 실행(시간/일) 스크립트 지원
- 안전한 방식으로 비밀(매개 변수, 암호) 전달
필수 조건
지원되는 Windows 운영 체제
OS 버전 | x64 | ARM64 |
---|---|---|
Windows 10 | 지원됨 | 지원됨 |
윈도우 11 | 지원됨 | 지원됨 |
Windows Server 2016 | 지원됨 | 지원됨 |
Windows Server 2016 Core | 지원됨 | 지원됨 |
Windows Server 2019 | 지원됨 | 지원됨 |
Windows Server 2019 Core | 지원됨 | 지원됨 |
윈도우 서버 2022 | 지원됨 | 지원됨 |
Windows Server 2022 Core | 지원됨 | 지원됨 |
Windows Server 2022 Azure Edition | 지원됨 | 지원됨 |
Windows Server 2025 | 지원됨 | 지원됨 |
Windows Server 2025 Core | 지원됨 | 지원됨 |
Windows Server 2025 Azure Edition | 지원됨 | 지원됨 |
사용 가능한 명령
CommandID | 설명 | 추가 정보 |
---|---|---|
RunPowerShellScript | PowerShell 스크립트 실행 | |
IPConfig | TCP/IP에 바인딩된 각 어댑터의 IP 주소, 서브넷 마스크 및 기본 게이트웨이에 대한 자세한 정보를 표시합니다. 사용법은 스크립트 실행을 참조하세요. | readme |
EnableWindowsUpdate | Windows 업데이트를 통해 자동 업데이트를 사용하도록 설정합니다. | readme |
DisableWindowsUpdate | Windows 업데이트를 통해 자동 업데이트를 사용하지 않도록 설정합니다. | readme |
EnableAdminAccount | 로컬 관리자 계정이 비활성화되어 있는지 확인하고, 비활성화된 경우 이를 활성화합니다. | readme |
EnableEMS | 문제 해결 시나리오에서 직렬 콘솔 연결을 허용하도록 EMS(응급 관리 서비스)를 사용하도록 설정합니다. | readme |
EnableRemotePS | 원격 PowerShell을 사용하도록 설정합니다. | readme |
IMDSCertCheck | IMDS 상태를 확인한 다음 IMDS가 의존하는 현재 설치된 인증서를 분석합니다. 누락된 경우 추가 세부 정보 및 완화 단계를 표시합니다. | readme |
RDPSettings | 레지스트리 설정 및 도메인 정책 설정을 확인합니다. 컴퓨터가 도메인의 일부이거나 설정을 기본값으로 수정하는 경우 정책 작업을 제안합니다. | readme |
ResetRDPCert | RDP 수신기에 연결된 SSL 인증서를 제거하고 RDP 수신기 보안을 기본값으로 복원합니다. 인증서에 문제가 있는 경우 이 스크립트를 사용합니다. | readme |
WindowsActivationValidation | 현재 Windows 라이선스 상태(활성화 여부)를 확인하고 컴퓨터가 속성이 활성화되지 않은 경우 경고가 생성됩니다. | readme |
SetRDPPort | 원격 데스크톱 연결의 기본 또는 사용자 지정 포트 번호를 설정합니다. 포트에 대한 인바운드 액세스에 대한 방화벽 규칙을 사용하도록 설정합니다. | readme |
DisableNLA | 네트워크 수준 인증(NLA)을 사용하지 않도록 설정합니다. 변경 내용이 적용되려면 스크립트가 완료된 후 VM을 다시 시작해야 합니다. 스크립트 자체는 VM을 다시 시작하지 않습니다. RDP 연결이 실패하는 경우 이 스크립트를 사용하여 '연결하려는 원격 컴퓨터에는 NLA(네트워크 수준 인증)가 필요하지만 NLA를 수행하기 위해 Windows 도메인 컨트롤러에 연결할 수 없습니다.' 오류와 함께 NLA를 사용하지 않도록 설정할 수 있습니다. 또는 오류 '인증 오류가 발생했습니다. 현지 보안 기관에 연락할 수 없습니다.' NLA는 도메인 컨트롤러 연결 문제가 해결될 때까지 RDP 연결이 성공할 수 있도록 일시적으로만 사용하지 않도록 설정해야 하는 보안 기능입니다. | readme |
참고
위의 명령 ID는 Windows VM용 관리형 실행 명령에 적용할 수 있습니다. "Get-AzVMRunCommandDocument -Location {RegionName}
" 명령을 사용하여 모든 commandId를 나열할 수 있습니다.
명령 실행에 대한 액세스 제한
실행 명령을 나열하거나 명령의 세부 정보를 표시하려면 구독 수준에서 Microsoft.Compute/locations/runCommands/read
권한이 필요합니다. 내장된 Reader 역할 및 더 높은 수준에 이 권한이 있습니다.
명령을 실행하려면 Microsoft.Compute/virtualMachines/runCommand/write
권한이 필요합니다.
Virtual Machine 기여자 역할 및 상위 수준에 이 권한이 있습니다.
기본 제공 역할 중 하나를 사용하거나 사용자 지정 역할을 생성하여 실행 명령을 사용할 수 있습니다.
Azure 커맨드 라인 인터페이스 (CLI)
다음 예제는 az vm run-command 명령을 사용하여 Azure Windows VM에서 셸 스크립트를 실행합니다.
VM을 사용하여 스크립트 실행
이 명령은 스크립트를 VM에 전달하고, 실행하고, 캡처된 출력을 반환합니다.
az vm run-command create --name "myRunCommand" --vm-name "myVM" --resource-group "myRG" --script "Write-Host Hello World!"
VM에 배포된 모든 RunCommand 리소스 나열
이 명령은 속성과 함께 이전에 배포된 실행 명령의 전체 목록을 반환합니다.
az vm run-command list --vm-name "myVM" --resource-group "myRG"
실행 상태 및 결과 가져오기
이 명령은 실행의 최신 출력, 시작/종료 시간, 종료 코드 및 터미널 상태를 포함하여 현재 실행 진행률을 검색합니다.
az vm run-command show --name "myRunCommand" --vm-name "myVM" --resource-group "myRG" --expand instanceView
참고
instanceView
의 출력 및 오류 필드는 마지막 4KB로 제한됩니다.
전체 출력 및 오류에 액세스하려는 경우 -outputBlobUri
또는 -errorBlobUri
를 사용하여 실행 명령을 실행하는 동안 Set-AzVMRunCommand
및 Set-AzVMssRunCommand
매개 변수를 사용하여 스토리지 추가 Blob으로 출력 및 오류 데이터를 전달하는 옵션을 사용할 수 있습니다.
VM에서 RunCommand 리소스 삭제
이전에 VM에 배포된 RunCommand 리소스를 제거합니다. 스크립트 실행이 아직 진행 중이면 실행이 종료됩니다.
az vm run-command delete --name "myRunCommand" --vm-name "myVM" --resource-group "myRG"
PowerShell
VM을 사용하여 스크립트 실행
이 명령은 스크립트를 VM에 전달하고, 실행하고, 캡처된 출력을 반환합니다.
Set-AzVMRunCommand -ResourceGroupName "myRG" -VMName "myVM" -Location "EastUS" -RunCommandName "RunCommandName" –SourceScript "echo Hello World!"
SourceScriptUri 매개 변수를 사용하여 VM에서 스크립트 실행
OutputBlobUri
및 ErrorBlobUri
는 선택적 매개 변수입니다.
Set-AzVMRunCommand -ResourceGroupName "myRg" `
-VMName "myVM" `
-RunCommandName "RunCommandName" `
-SourceScriptUri “<SAS_URI_of_a_storage_blob_with_read_access_or_public_URI>" `
-OutputBlobUri “<SAS_URI_of_a_storage_append_blob_with_read_add_create_write_access>" `
-ErrorBlobUri “<SAS_URI_of_a_storage_append_blob_with_read_add_create_write_access>”
VM에서 장시간 실행되는 명령어 실행하기
실행 시간은 기본 시간 제한인 90분보다 길어야 합니다. 스크립트가 오래 실행될 것으로 예상되는 경우 100분 동안 실행되어야 합니다(6,0000초 -TimeoutInSecond 매개 변수 참조). 100분 후에 스크립트 실행이 중지됩니다.
Set-AzVMRunCommand -ResourceGroupName MyRG -VMName MyVM -RunCommandName MyRunCommand -Location EastUS2EUAP -SourceScriptUri <SourceScriptUri> -AsyncExecution -TimeoutInSecond 6000
VM에 배포된 모든 RunCommand 리소스 나열
이 명령은 속성과 함께 이전에 배포된 실행 명령의 전체 목록을 반환합니다.
Get-AzVMRunCommand -ResourceGroupName "myRG" -VMName "myVM"
실행 상태 및 결과 가져오기
이 명령은 실행의 최신 출력, 시작/종료 시간, 종료 코드 및 터미널 상태를 포함하여 현재 실행 진행률을 검색합니다.
Get-AzVMRunCommand -ResourceGroupName "myRG" -VMName "myVM" -RunCommandName "RunCommandName" -Expand InstanceView
SourceScriptUri를 사용하여 VM에서 실행 명령 만들기 또는 업데이트(스토리지 Blob SAS URL)
PowerShell 스크립트가 포함된 스토리지 Blob의 SAS URL을 사용하여 Windows VM에서 실행 명령을 만들거나 업데이트합니다.
SourceScriptUri
는 스토리지 BLOB의 전체 SAS URL 또는 공용 URL일 수 있습니다.
Set-AzVMRunCommand -ResourceGroupName MyRG0 -VMName MyVMEE -RunCommandName MyRunCommand -Location EastUS2EUAP -SourceScriptUri <SourceScriptUri>
참고
SAS URL은 Blob에 대한 읽기 액세스를 제공해야 합니다. SAS URL에 대해 만료 시간은 24시간이 좋습니다. SAS URL은 Blob의 옵션을 사용하여 Azure Portal에 또는 New-AzStorageBlobSASToken
을 사용하여 SAS 토큰에 생성할 수 있습니다.
New-AzStorageBlobSASToken
을 사용하여 SAS 토큰을 생성하는 경우 SAS URL은 “기본 Blob URL” + “?” + “New-AzStorageBlobSASToken
의 SAS 토큰”입니다.
실행 명령을 만들거나 업데이트한 후 VM에 대한 실행 명령 인스턴스 보기 가져오기
인스턴스 보기를 사용하여 VM에 대한 실행 명령을 가져옵니다. 인스턴스 뷰에는 실행 명령(성공, 실패 등), 종료 코드, 표준 출력 및 실행 명령을 사용하여 스크립트를 실행하여 생성된 표준 오류의 실행 상태가 포함됩니다. 0이 아닌 ExitCode는 실패한 실행을 나타냅니다.
$x = Get-AzVMRunCommand -ResourceGroupName MyRG -VMName MyVM -RunCommandName MyRunCommand -Expand InstanceView
$x.InstanceView
예제 출력
ExecutionState : Succeeded
ExecutionMessage :
ExitCode : 0
Output :
output : uid=0(root) gid=0(root) groups=0(root)
HelloWorld
Error :
StartTime : 10/27/2022 9:10:52 PM
EndTime : 10/27/2022 9:10:55 PM
Statuses :
InstanceView.ExecutionState
: 사용자의 실행 명령 스크립트 상태입니다. 스크립트가 성공했는지 여부를 확인하려면 이 상태를 참조하세요.
ProvisioningState
: 일반 확장 프로비전 엔드투엔드 상태(확장 플랫폼이 실행 명령 스크립트를 트리거할 수 있는지 여부)입니다.
ScriptLocalPath를 사용하여 VM에서 실행 명령 만들기 또는 업데이트(로컬 스크립트 파일)
cmdlet이 실행되는 클라이언트 컴퓨터에 있는 로컬 스크립트 파일을 사용하여 VM에서 실행 명령을 만들거나 업데이트합니다.
Set-AzVMRunCommand -ResourceGroupName MyRG0 -VMName MyVMEE -RunCommandName MyRunCommand -Location EastUS2EUAP -ScriptLocalPath "C:\MyScriptsDir\MyScript.ps1"
SourceScript를 사용하여 VM에서 실행 명령 만들기 또는 업데이트(스크립트 텍스트)
스크립트 콘텐츠를 -SourceScript 매개 변수에 직접 전달하여 VM에서 실행 명령을 만들거나 업데이트합니다.
;
를 사용하여 여러 명령 구분
Set-AzVMRunCommand -ResourceGroupName MyRG0 -VMName MyVML -RunCommandName MyRunCommand2 -Location EastUS2EUAP -SourceScript "id; echo HelloWorld"
SourceCommandId를 사용하여 VM에서 실행 명령 만들기 또는 업데이트
기존 commandId를 사용하여 VM에서 실행 명령을 만들거나 업데이트합니다. Get-AzVMRunCommandDocument를 사용하여 사용 가능한 commandId를 검색할 수 있습니다.
Set-AzVMRunCommand -ResourceGroupName MyRG0 -VMName MyVMEE -RunCommandName MyRunCommand -Location EastUS2EUAP -SourceCommandId DisableWindowsUpdate
OutputBlobUri, ErrorBlobUri를 사용하여 VM에서 실행 명령을 만들거나 업데이트하여 표준 출력 및 표준 오류 메시지를 출력 및 오류 추가 Blob으로 스트리밍
VM에서 실행 명령을 만들거나 업데이트하고 표준 출력 및 표준 오류 메시지를 출력 및 오류 추가 Blob으로 스트리밍합니다.
Set-AzVMRunCommand -ResourceGroupName MyRG0 -VMName MyVML -RunCommandName MyRunCommand3 -Location EastUS2EUAP -ScriptLocalPath "C:\MyScriptsDir\MyScript.ps1" -OutputBlobUri <OutPutBlobUrI> -ErrorBlobUri "ErrorBlobUri
참고
출력 및 오류 Blob은 AppendBlob 형식이어야 하고 해당 SAS URL은 Blob에 대한 읽기, 추가, 만들기, 쓰기 액세스를 제공해야 합니다. SAS URL에 대해 만료 시간은 24시간이 좋습니다. 출력이나 오류 Blob이 존재하지 않으면 AppendBlob 형식의 Blob이 만들어집니다. Azure 포털에서 Blob의 옵션을 사용하거나 New-AzStorageBlobSASToken
을 사용하여 SAS URL 또는 SAS 토큰을 생성할 수 있습니다.
RunAsUser 및 RunAsPassword 매개 변수를 사용하여 다른 사용자로 VM에서 실행 명령 만들기 또는 업데이트
RunAsUser
및 RunAsPassword
매개 변수를 사용하여 다른 사용자로 VM에서 실행 명령을 만들거나 업데이트합니다. RunAs가 제대로 작동하려면 VM 관리자에게 문의하고 사용자가 VM에 추가되었는지 확인하고, 사용자는 실행 명령(디렉터리, 파일, 네트워크 등)에서 액세스하는 리소스에 액세스할 수 있으며, Windows VM의 경우 '보조 로그온' 서비스가 VM에서 실행되고 있습니다.
Set-AzVMRunCommand -ResourceGroupName MyRG0 -VMName MyVMEE -RunCommandName MyRunCommand -Location EastUS2EUAP -ScriptLocalPath "C:\MyScriptsDir\MyScript.ps1" -RunAsUser myusername -RunAsPassword mypassword
SourceScriptUri(스토리지 Blob SAS URL)를 사용하여 Virtual Machine Scale Sets 리소스에서 실행 명령을 만들거나 업데이트합니다.
PowerShell 스크립트가 포함된 스토리지 Blob의 SAS URL을 사용하여 Windows Virtual Machine Scale Sets 리소스에서 실행 명령을 만들거나 업데이트합니다.
Set-AzVmssVMRunCommand -ResourceGroupName MyRG0 -VMScaleSetName MyVMSS -InstanceId 0 -RunCommandName MyRunCommand -Location EastUS2EUAP -SourceScriptUri <SourceScriptUri>
참고
SAS URL은 Blob에 대한 읽기 액세스를 제공해야 합니다. SAS URL에 대해 만료 시간은 24시간이 좋습니다. SAS URL은 Blob의 옵션을 사용하여 Azure Portal에 또는 New-AzStorageBlobSASToken
을 사용하여 SAS 토큰에 생성할 수 있습니다.
New-AzStorageBlobSASToken
을 사용하여 SAS 토큰을 생성하는 경우 SAS URL 형식은 기본 Blob URL + “?” + New-AzStorageBlobSASToken
의 SAS 토큰입니다.
Parameter 및 ProtectedParameter 매개 변수를 사용하여 VM 인스턴스에서 실행 명령 만들기 또는 업데이트(스크립트에 대한 공용 및 보호 매개 변수)
ProtectedParameter를 사용하여 암호, 키 등과 같은 스크립트에 중요한 입력을 전달합니다.
$PublicParametersArray = @([Microsoft.Azure.PowerShell.Cmdlets.Compute.Models.Api20210701.IRunCommandInputParameter]@{name='publicParam1';value='publicParam1value'},
>> [Microsoft.Azure.PowerShell.Cmdlets.Compute.Models.Api20210701.IRunCommandInputParameter]@{name='publicParam2';value='publicParam2value'})
$ProtectedParametersArray = @([Microsoft.Azure.PowerShell.Cmdlets.Compute.Models.Api20210701.IRunCommandInputParameter]@{name='secret1';value='secret1value'},
>> [Microsoft.Azure.PowerShell.Cmdlets.Compute.Models.Api20210701.IRunCommandInputParameter]@{name='secret2';value='secret2value'})
Set-AzVMRunCommand -ResourceGroupName MyRG0 -VMName MyVMEE -RunCommandName MyRunCommand -Location EastUS2EUAP -SourceScriptUri <SourceScriptUri> -Parameter $PublicParametersArray -ProtectedParameter $ProtectedParametersArray
Windows: 인수가 스크립트에 전달되고
myscript.ps1 -publicParam1 publicParam1value -publicParam2 publicParam2value -secret1 secret1value -secret2 secret2value
와 같이 실행될 때 Parameters 및 ProtectedParameters가 스크립트에 전달됩니다.Linux: Named Parameters와 해당 값은 .sh 스크립트 내에서 액세스할 수 있어야 하는 환경 구성으로 설정됩니다. Nameless 인수의 경우 빈 문자열을 이름 입력으로 전달합니다. Nameless 인수는 스크립트로 전달되고
myscript.sh publicParam1value publicParam2value secret1value secret2value
와 같이 실행됩니다.
VM에서 RunCommand 리소스 삭제
이전에 VM에 배포된 RunCommand 리소스를 제거합니다. 스크립트 실행이 아직 진행 중이면 실행이 종료됩니다.
Remove-AzVMRunCommand -ResourceGroupName "myRG" -VMName "myVM" -RunCommandName "RunCommandName"
REST API (REST 애플리케이션 프로그래밍 인터페이스)
새 실행 명령을 배포하려면 VM에서 PUT을 직접 실행하고 명령 실행 인스턴스의 고유한 이름을 지정합니다.
PUT /subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Compute/virtualMachines/<vmName>/runcommands/<runCommandName>?api-version=2023-03-01
{
"___location": "<___location>",
"properties": {
"source": {
"script": "Write-Host Hello World!",
"scriptUri": "<SAS URI of a storage blob with read access or public URI>",
"commandId": "<Id>"
},
"parameters": [
{
"name": "param1",
"value": "value1"
},
{
"name": "param2",
"value": "value2"
}
],
"protectedParameters": [
{
"name": "secret1",
"value": "value1"
},
{
"name": "secret2",
"value": "value2"
}
],
"runAsUser": "userName",
"runAsPassword": "userPassword",
"timeoutInSeconds": 3600,
"treatFailureAsDeploymentFailure": true,
"outputBlobUri": "< SAS URI of a storage append blob with read, add, create, write access>",
"errorBlobUri": "< SAS URI of a storage append blob with read, add, create, write access >"
}
}
메모
- 인라인 스크립트, 스크립트 URI 또는 기본 제공 스크립트 명령 ID를 입력 원본으로 제공할 수 있습니다. 스크립트 URI는 읽기 액세스 권한이 있는 스토리지 Blob SAS URI 또는 공용 URI입니다.
- 하나의 명령 실행에 대해 하나의 원본 입력 형식만 지원됩니다.
- API 버전 2023-03-01부터
treatFailureAsDeploymentFailure
속성을 true로 설정하여 스크립트에 오류가 있을 때 배포가 실패하도록 할 수 있습니다. false로 설정하면 ProvisioningState는 확장 플랫폼에서 실행 명령이 실행되었는지 아닌지 여부만 반영합니다. 스크립트 오류가 발생한 경우 스크립트의 실패 여부를 나타내지 않습니다. - Run Command는 큰 스크립트 출력을 저장하는 데 사용할 수 있는 outputBlobUri 및 errorBlobUri 매개 변수를 사용하여 Storage Blob에 출력 및 오류를 쓸 수 있도록 지원합니다. 읽기, 추가, 만들기, 쓰기 액세스 권한이 있는 스토리지 추가 Blob의 SAS URI를 사용합니다. Blob은 AppendBlob 형식이어야 합니다. 스크립트 출력 또는 오류 Blob을 작성하지 않으면 실패합니다. Blob이 이미 있는 경우 덮어씁니다. 없는 경우 만들어집니다.
VM에서 실행 명령의 실행 인스턴스 나열
GET /subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Compute/virtualMachines/<vmName>/runcommands?api-version=2023-03-01
특정 실행 명령 배포에 대한 출력 세부 정보 가져오기
GET /subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Compute/virtualMachines/<vmName>/runcommands/<runCommandName>?$expand=instanceView&api-version=2023-03-01
특정 실행 명령 배포 삭제
실행 명령의 인스턴스를 삭제할 수도 있습니다.
DELETE /subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Compute/virtualMachines/<vmName>/runcommands/<runCommandName>?api-version=2023-03-01
스크립트를 순서가 지정된 시퀀스로 배포
스크립트를 순차적으로 배포하려면 배포 템플릿을 사용하여 순차 스크립트 간의 dependsOn
관계를 지정합니다.
{
"type": "Microsoft.Compute/virtualMachines/runCommands",
"name": "secondRunCommand",
"apiVersion": "2019-12-01",
"___location": "[parameters('___location')]",
"dependsOn": <full resourceID of the previous other Run Command>,
"properties": {
"source": {
"script": "Write-Host Hello World!"
},
"timeoutInSeconds": 60
}
}
여러 실행 명령을 순차적으로 실행
기본적으로 배포 템플릿을 사용하여 여러 RunCommand 리소스를 배포하는 경우 VM에서 동시에 실행됩니다. 스크립트에 대한 종속성과 기본 실행 순서가 있는 경우 속성을 사용하여 dependsOn
속성을 통해 이를 순차적으로 실행할 수 있습니다.
이 예제에서 secondRunCommand는 firstRunCommand 이후에 실행됩니다.
{
"$schema":"https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion":"1.0.0.0",
"resources":[
{
"type":"Microsoft.Compute/virtualMachines/runCommands",
"name":"[concat(parameters('vmName'),'/firstRunCommand')]",
"apiVersion":"2023-03-01",
"___location":"[parameters('___location')]",
"dependsOn":[
"[concat('Microsoft.Compute/virtualMachines/', parameters('vmName'))]"
],
"properties":{
"source":{
"script":"Write-Host First: Hello World!"
},
"parameters":[
{
"name":"param1",
"value":"value1"
},
{
"name":"param2",
"value":"value2"
}
],
"timeoutInSeconds":20
}
},
{
"type":"Microsoft.Compute/virtualMachines/runCommands",
"name":"[concat(parameters('vmName'),'/secondRunCommand')]",
"apiVersion":"2019-12-01",
"___location":"[parameters('___location')]",
"dependsOn":[
"[concat('Microsoft.Compute/virtualMachines/', parameters('vmName'),'runcommands/firstRunCommand')]"
],
"properties":{
"source":{
"scriptUri":"http://github.com/myscript.ps1"
},
"timeoutInSeconds":60
}
}
]
}
다음 단계
VM에서 스크립트 및 명령을 원격으로 실행하는 다른 방법에 대해 알아보려면 Windows VM에서 스크립트 실행을 참조하세요.