共用方式為


Add-AzVmssExtension

將擴充功能新增至 VMSS。

語法

Default (預設值)

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)。

範例

範例 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 secured parameters.
$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 儲存體上使用範例 bash 腳本將延伸模組新增至 VMSS,在設定中指定 Blob 儲存體和可執行命令的 URL,並在受保護的設定中指定安全性存取。

參數

-AutoUpgradeMinorVersion

指出延伸模組版本是否應該自動更新為較新的次要版本。

參數屬性

類型:

Nullable<T>[Boolean]

預設值:None
支援萬用字元:False
不要顯示:False

參數集

(All)
Position:5
必要:False
來自管線的值:False
來自管線按屬性名稱的值:True
來自剩餘引數的值:False

-Confirm

在執行 Cmdlet 之前,提示您進行確認。

參數屬性

類型:SwitchParameter
預設值:None
支援萬用字元:False
不要顯示:False
別名:參見

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-DefaultProfile

用於與 azure 通訊的認證、帳戶、租用戶和訂用帳戶。

參數屬性

類型:IAzureContextContainer
預設值:None
支援萬用字元:False
不要顯示:False
別名:AzContext, AzureRmContext, AzureCredential

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-EnableAutomaticUpgrade

指出如果有較新版本的延伸模組可用,平臺是否應該自動升級延伸模組。

參數屬性

類型:

Nullable<T>[Boolean]

預設值:None
支援萬用字元:False
不要顯示:False

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-ForceUpdateTag

如果提供值,且與先前的值不同,即使延伸模組組態尚未變更,擴充處理程式仍會強制更新。

參數屬性

類型:String
預設值:None
支援萬用字元:False
不要顯示:False

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:True
來自剩餘引數的值:False

-Name

指定此 Cmdlet 新增的延伸模組名稱。

參數屬性

類型:String
預設值:None
支援萬用字元:False
不要顯示:False

參數集

(All)
Position:1
必要:False
來自管線的值:False
來自管線按屬性名稱的值:True
來自剩餘引數的值:False

-ProtectedSetting

將延伸模組的專用組態指定為字串。 此 Cmdlet 會加密私人設定。

參數屬性

類型:Object
預設值:None
支援萬用字元:False
不要顯示:False

參數集

(All)
Position:7
必要:False
來自管線的值:False
來自管線按屬性名稱的值:True
來自剩餘引數的值:False

-ProvisionAfterExtension

必須布建此延伸模組之後的延伸模組名稱集合。

參數屬性

類型:

String[]

預設值:None
支援萬用字元:False
不要顯示:False

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:True
來自剩餘引數的值:False

-Publisher

指定延伸模組發行者的名稱。 發行者會在發行者註冊延伸模組時提供名稱。 這可以使用 Get-AzVMImagePublisher Cmdlet 來取得發行者。

參數屬性

類型:String
預設值:None
支援萬用字元:False
不要顯示:False

參數集

(All)
Position:2
必要:False
來自管線的值:False
來自管線按屬性名稱的值:True
來自剩餘引數的值:False

-Setting

將延伸模組的公用組態指定為字串。 此 Cmdlet 不會加密公用設定。

參數屬性

類型:Object
預設值:None
支援萬用字元:False
不要顯示:False

參數集

(All)
Position:6
必要:False
來自管線的值:False
來自管線按屬性名稱的值:True
來自剩餘引數的值:False

-Type

指定延伸類型。 您可以使用 Get-AzVMExtensionImageType Cmdlet 來取得延伸模組類型。

參數屬性

類型:String
預設值:None
支援萬用字元:False
不要顯示:False

參數集

(All)
Position:3
必要:False
來自管線的值:False
來自管線按屬性名稱的值:True
來自剩餘引數的值:False

-TypeHandlerVersion

指定要用於此虛擬機器的延伸模組版本。 您可以使用 Get-AzVMExtensionImage Cmdlet 來取得延伸模組的版本。

參數屬性

類型:String
預設值:None
支援萬用字元:False
不要顯示:False

參數集

(All)
Position:4
必要:False
來自管線的值:False
來自管線按屬性名稱的值:True
來自剩餘引數的值:False

-VirtualMachineScaleSet

指定 VMSS 物件。 您可以使用 New-AzVmssConfig 來建立物件。

參數屬性

類型:PSVirtualMachineScaleSet
預設值:None
支援萬用字元:False
不要顯示:False

參數集

(All)
Position:0
必要:True
來自管線的值:True
來自管線按屬性名稱的值:True
來自剩餘引數的值:False

-WhatIf

顯示 Cmdlet 執行時會發生什麼事。 指令未執行。

參數屬性

類型:SwitchParameter
預設值:None
支援萬用字元:False
不要顯示:False
別名:威斯康辛

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

CommonParameters

此 cmdlet 支援常見參數:-Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction 和 -WarningVariable。 如需詳細資訊,請參閱 about_CommonParameters

輸入

PSVirtualMachineScaleSet

String

Nullable<T>

Object

輸出

PSVirtualMachineScaleSet