Add-AzVmssExtension

VMSS에 확장을 추가합니다.

Syntax

Add-AzVmssExtension
   [-VirtualMachineScaleSet] <PSVirtualMachineScaleSet>
   [[-Name] <String>]
   [[-Publisher] <String>]
   [[-Type] <String>]
   [[-TypeHandlerVersion] <String>]
   [[-AutoUpgradeMinorVersion] <Boolean>]
   [[-Setting] <Object>]
   [[-ProtectedSetting] <Object>]
   [-EnableAutomaticUpgrade <Boolean>]
   [-ForceUpdateTag <String>]
   [-ProvisionAfterExtension <String[]>]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

Add-AzVmssExtension cmdlet은 VMSS(Virtual Machine Scale Set)에 확장을 추가합니다.

예제

예제 1: VMSS에 확장 추가

Add-AzVmssExtension -VirtualMachineScaleSet $VMSS -Name $ExtName -Publisher $Publisher -Type $ExtType -TypeHandlerVersion $ExtVer -AutoUpgradeMinorVersion $True

이 명령은 VMSS에 확장을 추가합니다.

예제 2: 설정 및 보호된 설정을 사용하여 VMSS에 확장 추가

$Settings = @{"fileUris" = "[]"; "commandToExecute" = ""};
$ProtectedSettings = @{"storageAccountName" = $stoname; "storageAccountKey" = $stokey};

Add-AzVmssExtension -VirtualMachineScaleSet $vmss -Name $vmssExtensionName -Publisher $vmssPublisher  `
  -Type $vmssExtensionType -TypeHandlerVersion $ExtVer -AutoUpgradeMinorVersion $True  `
  -Setting $Settings -ProtectedSetting $ProtectedSettings

예제 3: 설정 및 보호된 설정을 사용하여 VMSS에 확장 추가

$BatchFile = "runbook.sh"
$ResourceGroupName = "HelloRG"
$VMScaleSetName = "HelloVmSS"
$TypeHandlerVersion = 2.1

#Best Practice for securd paramaters.
$protectedSettings = @{
"managedIdentity" = @{ "clientId" = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"};
}

$publicSettings = @{ 
"fileUris"= (,"https://storage.blob.core.windows.net/itfiles/$($BatchFile)");
"commandToExecute"= "sh $($BatchFile)"
}

# Get information about the scale set
$vmss = Get-AzVmss `
            -ResourceGroupName $ResourceGroupName `
            -VMScaleSetName $VMScaleSetName

Add-AzVmssExtension -VirtualMachineScaleSet $vmss `
    -Name "CustomScript" `
    -Publisher "Microsoft.Azure.Extensions" `
    -Type "CustomScript" `
    -TypeHandlerVersion $TypeHandlerVersion `
    -AutoUpgradeMinorVersion $true `
    -Setting $publicSettings `
    -ProtectedSetting $protectedSettings

Update-AzVmss `
    -ResourceGroupName $ResourceGroupName `
    -Name $VMScaleSetName `
    -VirtualMachineScaleSet $vmss

이 명령은 Blob Storage에서 샘플 bash 스크립트를 사용하여 VMSS에 확장을 추가하고, 설정에서 Blob Storage 및 실행 파일 명령의 URL을 지정하고, 보호된 설정에서 보안 액세스를 지정합니다.

매개 변수

-AutoUpgradeMinorVersion

확장 버전을 최신 부 버전으로 자동으로 업데이트해야 하는지 여부를 나타냅니다.

Type:Nullable<T>[Boolean]
Position:5
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Confirm

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

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DefaultProfile

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

Type:IAzureContextContainer
Aliases:AzContext, AzureRmContext, AzureCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-EnableAutomaticUpgrade

사용 가능한 최신 버전의 확장이 있는 경우 플랫폼에서 확장을 자동으로 업그레이드해야 하는지 여부를 나타냅니다.

Type:Nullable<T>[Boolean]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ForceUpdateTag

값이 제공되고 이전 값과 다른 경우 확장 구성이 변경되지 않은 경우에도 확장 처리기가 강제로 업데이트됩니다.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Name

이 cmdlet이 추가하는 확장의 이름을 지정합니다.

Type:String
Position:1
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-ProtectedSetting

확장에 대한 프라이빗 구성을 문자열로 지정합니다. 이 cmdlet은 프라이빗 구성을 암호화합니다.

Type:Object
Position:7
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-ProvisionAfterExtension

이 확장을 프로비전해야 하는 확장 이름 컬렉션입니다.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Publisher

확장 게시자의 이름을 지정합니다. 게시자는 게시자가 확장을 등록할 때 이름을 제공합니다. Get-AzVMImagePublisher cmdlet을 사용하여 게시자를 가져올 수 있습니다.

Type:String
Position:2
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Setting

확장에 대한 공용 구성을 문자열로 지정합니다. 이 cmdlet은 공용 구성을 암호화하지 않습니다.

Type:Object
Position:6
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Type

확장 유형을 지정합니다. Get-AzVMExtensionImageType cmdlet을 사용하여 확장 유형을 가져올 수 있습니다.

Type:String
Position:3
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-TypeHandlerVersion

이 가상 머신에 사용할 확장 버전을 지정합니다. Get-AzVMExtensionImage cmdlet을 사용하여 확장 버전을 가져올 수 있습니다.

Type:String
Position:4
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-VirtualMachineScaleSet

VMSS 개체를 지정합니다. New-AzVmssConfig를 사용하여 개체를 만들 수 있습니다.

Type:PSVirtualMachineScaleSet
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-WhatIf

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

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

입력

PSVirtualMachineScaleSet

String

Nullable<T>[[System.Boolean, System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]

Object

출력

PSVirtualMachineScaleSet