다음을 통해 공유


Set-AzVMRunCommand

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

구문

Set-AzVMRunCommand
   -ResourceGroupName <String>
   -RunCommandName <String>
   -VMName <String>
   [-SubscriptionId <String>]
   -Location <String>
   [-AsyncExecution]
   [-ErrorBlobManagedIdentityClientId <String>]
   [-ErrorBlobManagedIdentityObjectId <String>]
   [-ErrorBlobUri <String>]
   [-OutputBlobManagedIdentityClientId <String>]
   [-OutputBlobManagedIdentityObjectId <String>]
   [-OutputBlobUri <String>]
   [-Parameter <IRunCommandInputParameter[]>]
   [-ProtectedParameter <IRunCommandInputParameter[]>]
   [-RunAsPassword <String>]
   [-RunAsUser <String>]
   [-ScriptUriManagedIdentityClientId <String>]
   [-ScriptUriManagedIdentityObjectId <String>]
   [-SourceCommandId <String>]
   [-SourceScript <String>]
   [-SourceScriptUri <String>]
   [-Tag <Hashtable>]
   [-TimeoutInSecond <Int32>]
   [-TreatFailureAsDeploymentFailure]
   [-DefaultProfile <PSObject>]
   [-AsJob]
   [-NoWait]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-AzVMRunCommand
   -ResourceGroupName <String>
   -RunCommandName <String>
   -VMName <String>
   [-SubscriptionId <String>]
   -Location <String>
   [-AsyncExecution]
   [-ErrorBlobManagedIdentityClientId <String>]
   [-ErrorBlobManagedIdentityObjectId <String>]
   [-ErrorBlobUri <String>]
   [-OutputBlobManagedIdentityClientId <String>]
   [-OutputBlobManagedIdentityObjectId <String>]
   [-OutputBlobUri <String>]
   [-Parameter <IRunCommandInputParameter[]>]
   [-ProtectedParameter <IRunCommandInputParameter[]>]
   [-RunAsPassword <String>]
   [-RunAsUser <String>]
   [-ScriptUriManagedIdentityClientId <String>]
   [-ScriptUriManagedIdentityObjectId <String>]
   [-Tag <Hashtable>]
   [-TimeoutInSecond <Int32>]
   [-TreatFailureAsDeploymentFailure]
   -ScriptLocalPath <String>
   [-DefaultProfile <PSObject>]
   [-AsJob]
   [-NoWait]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

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

예제

예제 1: 스토리지 Blob SAS URL을 사용하여 VM에서 실행 명령 만들기 또는 업데이트

Set-AzVMRunCommand -ResourceGroupName MyRG0 -VMName MyVMEE -RunCommandName MyRunCommand -Location EastUS2EUAP -SourceScriptUri "https://myst.blob.core.windows.net/mycontainer/myscript.ps1?sp=r&st=2022-10-27T21:02:35Z&se=2022-10-28T05:02:35Z&spr=https&sv=2021-06-08&sr=b&sig=0I%2FIiYayRwHasfasasfdasdfasdeTsQjLnpZjA%3D"

Location      Name         Type
--------      ----         ----
eastus2euap   MyRunCommand Microsoft.Compute/virtualMachines/runCommands

.ps1 스크립트가 포함된 스토리지 Blob의 SAS URL을 사용하여 Windows VM에서 실행 명령을 만들거나 업데이트합니다. SAS URL은 Blob에 대한 읽기 권한을 제공해야 합니다. SAS URL에 대해 만료 시간은 24시간이 좋습니다. Azure Portal에서 Blob의 옵션을 사용하여 SAS URL을 생성하거나 New-AzStorageBlobSASToken을 사용하여 SAS 토큰을 생성할 수 있습니다. New-AzStorageBlobSASToken을 사용하여 SAS 토큰을 생성하는 경우 SAS URL = 기본 Blob URL + "?" + New-AzStorageBlobSASToken의 SAS 토큰입니다.

예제 2: 로컬 스크립트 파일을 사용하여 VM에서 실행 명령을 만들거나 업데이트합니다.

Set-AzVMRunCommand -ResourceGroupName MyRG0 -VMName MyVMEE -RunCommandName MyRunCommand -Location EastUS2EUAP -ScriptLocalPath "C:\MyScriptsDir\MyScript.ps1"

Location      Name         Type
--------      ----         ----
eastus2euap   MyRunCommand Microsoft.Compute/virtualMachines/runCommands

cmdlet이 실행되는 클라이언트 컴퓨터에 있는 로컬 스크립트 파일을 사용하여 VM에서 실행 명령을 만들거나 업데이트합니다.

예제 3: 스크립트 텍스트를 사용하여 VM에서 실행 명령을 만들거나 업데이트합니다.

Set-AzVMRunCommand -ResourceGroupName MyRG0 -VMName MyVML -RunCommandName MyRunCommand2 -Location EastUS2EUAP -SourceScript "id; echo HelloWorld"

Location      Name          Type
--------      ----          ----
eastus2euap   MyRunCommand2 Microsoft.Compute/virtualMachines/runCommands

스크립트 콘텐츠를 -SourceScript 매개 변수에 직접 전달하여 VM에서 실행 명령을 만들거나 업데이트합니다. ';'를 사용하여 여러 명령을 구분합니다.

예제 4: commandId를 사용하여 VM에서 실행 명령을 만들거나 업데이트합니다.

Set-AzVMRunCommand -ResourceGroupName MyRG0 -VMName MyVMEE -RunCommandName MyRunCommand -Location EastUS2EUAP -SourceCommandId DisableWindowsUpdate

Location      Name         Type
--------      ----         ----
eastus2euap   MyRunCommand Microsoft.Compute/virtualMachines/runCommands

기존 commandId를 사용하여 VM에서 실행 명령을 만들거나 업데이트합니다. Get-AzVMRunCommandDocument를 사용하여 사용 가능한 commandId를 검색할 수 있습니다.

예제 5: VM에서 실행 명령을 만들거나 업데이트하고 표준 출력 및 표준 오류 메시지를 출력 및 오류 추가 Blob으로 스트리밍합니다.

Set-AzVMRunCommand -ResourceGroupName MyRG0 -VMName MyVML -RunCommandName MyRunCommand3 -Location EastUS2EUAP -ScriptLocalPath "C:\MyScriptsDir\MyScript.ps1" -OutputBlobUri "https://vivst.blob.core.windows.net/vivcontainer/output.txt?sp=racw&st=2022-10-27T22:18:36Z&se=2022-10-28T06:18:36Z&spr=https&sv=2021-06-08&sr=b&sig=HQAu3Bl%2BKMofYTjMo8o5hasfadsfasdF4jIkRJra4S5FlEo%3D" -ErrorBlobUri "https://vivst.blob.core.windows.net/vivcontainer/error.txt?sp=racw&st=2022-10-27T22:18:36Z&se=2022-10-28T06:18:36Z&spr=https&sv=2021-06-08&sr=b&sig=HQAu3Bl%2BKMofYTjMo8o5h%asfasdfgdT%2F4jasfasdf5FlEo%3D"

Location      Name          Type
--------      ----         ----
eastus2euap   MyRunCommand3 Microsoft.Compute/virtualMachines/runCommands

VM에서 실행 명령을 만들거나 업데이트하고 표준 출력 및 표준 오류 메시지를 출력 및 오류 추가 Blob으로 스트리밍합니다. 참고 출력 및 오류 Blob은 AppendBlob 형식이어야 하며 해당 SAS URL은 Blob에 대한 읽기, 추가, 만들기, 쓰기 액세스를 제공해야 합니다. SAS URL에 대해 만료 시간은 24시간이 좋습니다. 출력 또는 오류 Blob이 없는 경우 AppendBlob 형식의 Blob이 만들어집니다. Azure Portal에서 Blob의 옵션을 사용하여 SAS URL을 생성하거나 New-AzStorageBlobSASToken을 사용하여 SAS 토큰을 생성할 수 있습니다. New-AzStorageBlobSASToken을 사용하여 SAS 토큰을 생성하는 경우 SAS URL = 기본 Blob URL + "?" + New-AzStorageBlobSASToken의 SAS 토큰입니다.

예제 6: VM에서 실행 명령을 만들거나 업데이트하고 RunAsUser 및 RunAsPassword 매개 변수를 사용하여 다른 사용자로 실행 명령을 실행합니다.

Set-AzVMRunCommand -ResourceGroupName MyRG0 -VMName MyVMEE -RunCommandName MyRunCommand -Location EastUS2EUAP -ScriptLocalPath "C:\MyScriptsDir\MyScript.ps1" -RunAsUser myusername -RunAsPassword mypassword

Location      Name         Type
--------      ----         ----
eastus2euap   MyRunCommand Microsoft.Compute/virtualMachines/runCommands

VM에서 실행 명령을 만들거나 업데이트하고 RunAsUser 및 RunAsPassword 매개 변수를 사용하여 Run Command를 다른 사용자로 실행합니다. RunAs가 제대로 작동하려면 VM 관리자에게 연락해서 사용자가 VM에 추가되었고, 사용자는 실행 명령으로 액세스하는 리소스(디렉터리, 파일, 네트워크 등)에 대한 액세스 권한이 있고 Windows VM의 경우 VM에서’보조 로그온’ 서비스가 VM에서 실행되고 있는지 확인합니다.

매개 변수

-AsJob

작업으로 명령 실행

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

-AsyncExecution

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

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

-Confirm

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

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

-DefaultProfile

DefaultProfile 매개 변수가 작동하지 않습니다. 다른 구독에 대해 cmdlet을 실행하는 경우 사용 가능한 경우 SubscriptionId 매개 변수를 사용합니다.

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

-ErrorBlobManagedIdentityClientId

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

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

-ErrorBlobManagedIdentityObjectId

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

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

-ErrorBlobUri

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

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

-Location

리소스 위치

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

-NoWait

명령을 비동기적으로 실행

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

-OutputBlobManagedIdentityClientId

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

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

-OutputBlobManagedIdentityObjectId

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

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

-OutputBlobUri

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

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

-Parameter

스크립트에서 사용하는 매개 변수입니다. 생성하려면 PARAMETER 속성에 대한 NOTES 섹션을 참조하고 해시 테이블을 만듭니다.

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

-ProtectedParameter

스크립트에서 사용하는 매개 변수입니다. 생성하려면 PROTECTEDPARAMETER 속성에 대한 NOTES 섹션을 참조하고 해시 테이블을 만듭니다.

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

-ResourceGroupName

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

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

-RunAsPassword

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

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

-RunAsUser

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

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

-RunCommandName

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

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

-ScriptLocalPath

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

-ScriptUriManagedIdentityClientId

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

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

-ScriptUriManagedIdentityObjectId

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

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

-SourceCommandId

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

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

-SourceScript

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

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

-SourceScriptUri

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

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

-SubscriptionId

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

형식:String
Position:Named
Default value:(Get-AzContext).Subscription.Id
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Tag

리소스 태그

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

-TimeoutInSecond

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

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

-TreatFailureAsDeploymentFailure

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

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

-VMName

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

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

-WhatIf

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

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

출력

IVirtualMachineRunCommand