共用方式為


Set-AzureRmVMExtension

更新擴充功能屬性,或將擴充功能新增至虛擬機。

警告

自 2024 年 2 月 29 日起,AzureRM PowerShell 模組已正式淘汰。 建議使用者從 AzureRM 遷移至 Az PowerShell 模組,以確保持續支援和更新。

雖然 AzureRM 模組可能仍可運作,但不再維護或支援它,但會根據用戶的判斷權和風險放置任何繼續使用。 如需轉換至 Az 模組的指引,請參閱我們的 移轉資源

語法

Set-AzureRmVMExtension
   -Publisher <String>
   -ExtensionType <String>
   [-Settings <Hashtable>]
   [-ProtectedSettings <Hashtable>]
   [-AsJob]
   [-ResourceGroupName] <String>
   [-VMName] <String>
   [-Name <String>]
   [-TypeHandlerVersion <String>]
   [-Location <String>]
   [-DisableAutoUpgradeMinorVersion]
   [-ForceRerun <String>]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-AzureRmVMExtension
   -Publisher <String>
   -ExtensionType <String>
   [-SettingString <String>]
   [-ProtectedSettingString <String>]
   [-AsJob]
   [-ResourceGroupName] <String>
   [-VMName] <String>
   [-Name <String>]
   [-TypeHandlerVersion <String>]
   [-Location <String>]
   [-DisableAutoUpgradeMinorVersion]
   [-ForceRerun <String>]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

Set-AzureRmVMExtension Cmdlet 會更新現有虛擬機擴充功能的屬性,或將擴充功能新增至虛擬機。

範例

範例 1:使用哈希表修改設定

PS C:\> $Settings = @{"fileUris" = "[]"; "commandToExecute" = ""};
PS C:\> $ProtectedSettings = @{"storageAccountName" = $stoname; "storageAccountKey" = $stokey};
PS C:\> Set-AzureRmVMExtension -ResourceGroupName "ResourceGroup11" -Location "West US" -VMName "VirtualMachine22" -Name "ContosoTest" -Publisher "Contoso.Compute" -Type "CustomScriptExtension" -TypeHandlerVersion "1.1" -Settings $Settings -ProtectedSettings $ProtectedSettings;

前兩個命令會使用標準 Windows PowerShell 語法來建立哈希表,然後將這些哈希表儲存在$Settings和$ProtectedSettings變數中。 如需詳細資訊,請輸入 Get-Help about_Hash_Tables。 第二個命令包含先前建立並儲存在變數中的兩個值。 最後一個命令會根據$Settings和$ProtectedSettings的內容,修改 ResourceGroup11 中名為 VirtualMachine22 的虛擬機擴充功能。 命令會指定包含發行者和延伸模組類型的其他必要資訊。

範例 2:使用字串修改設定

PS C:\> $SettingsString = '{"fileUris":[],"commandToExecute":""}';
PS C:\> $ProtectedSettingsString = '{"storageAccountName":"' + $stoname + '","storageAccountKey":"' + $stokey + '"}';
PS C:\> Set-AzureRmVMExtension -ResourceGroupName "ResourceGroup11" -Location "West US" -VMName "VirtualMachine22" -Name "CustomScriptExtension" -Publisher "Contoso.Compute" -Type "CustomScriptExtension" -TypeHandlerVersion "1.1" -SettingString $SettingsString -ProtectedSettingString $ProtectedSettingsString ;

前兩個命令會建立包含設定的字串,然後將它們儲存在$SettingsString和$ProtectedSettingsString變數中。 最後一個命令會根據$SettingsString和$ProtectedSettingsString的內容,修改 ResourceGroup11 中名為 VirtualMachine22 的虛擬機擴充功能。 命令會指定包含發行者和延伸模組類型的其他必要資訊。

參數

-AsJob

在背景執行 Cmdlet

類型:SwitchParameter
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-Confirm

執行 Cmdlet 之前先提示您確認。

類型:SwitchParameter
別名:cf
Position:Named
預設值:False
必要:False
接受管線輸入:False
接受萬用字元:False

-DefaultProfile

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

類型:IAzureContextContainer
別名:AzureRmContext, AzureCredential
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-DisableAutoUpgradeMinorVersion

指出此 Cmdlet 會防止 Azure 客體代理程式將擴充功能自動更新為較新的次要版本。 根據預設,此 Cmdlet 可讓客體代理程式更新擴充功能。

類型:SwitchParameter
Position:Named
預設值:None
必要:False
接受管線輸入:True
接受萬用字元:False

-ExtensionType

指定延伸模組類型。

類型:String
別名:Type
Position:Named
預設值:None
必要:True
接受管線輸入:True
接受萬用字元:False

-ForceRerun

表示此 Cmdlet 會在虛擬機上強制重新執行相同的擴充功能組態,而不需卸載並重新安裝擴充功能。 值可以是與目前值不同的任何字串。 如果未變更 forceUpdateTag,處理程式仍會套用對公用或受保護設定的更新。

類型:String
Position:Named
預設值:None
必要:False
接受管線輸入:True
接受萬用字元:False

-Location

指定虛擬機的位置。

類型:String
Position:Named
預設值:None
必要:False
接受管線輸入:True
接受萬用字元:False

-Name

指定延伸模組的名稱。

類型:String
別名:ExtensionName
Position:Named
預設值:None
必要:False
接受管線輸入:True
接受萬用字元:False

-ProtectedSettings

指定延伸模組的私人組態,做為哈希表。 此 Cmdlet 會加密私人組態。

類型:Hashtable
Position:Named
預設值:None
必要:False
接受管線輸入:True
接受萬用字元:False

-ProtectedSettingString

將擴充功能的私人組態指定為字串。 此 Cmdlet 會加密私人組態。

類型:String
Position:Named
預設值:None
必要:False
接受管線輸入:True
接受萬用字元:False

-Publisher

指定擴充功能發行者的名稱。 發行者會在發行者註冊擴充功能時提供名稱。

類型:String
Position:Named
預設值:None
必要:True
接受管線輸入:True
接受萬用字元:False

-ResourceGroupName

指定虛擬機的資源群組名稱。

類型:String
Position:0
預設值:None
必要:True
接受管線輸入:True
接受萬用字元:False

-Settings

指定延伸模組的公用組態,做為哈希表。 此 Cmdlet 不會加密公用組態。

類型:Hashtable
Position:Named
預設值:None
必要:False
接受管線輸入:True
接受萬用字元:False

-SettingString

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

類型:String
Position:Named
預設值:None
必要:False
接受管線輸入:True
接受萬用字元:False

-TypeHandlerVersion

指定要用於此虛擬機的擴充功能版本。

類型:String
別名:HandlerVersion, Version
Position:Named
預設值:None
必要:False
接受管線輸入:True
接受萬用字元:False

-VMName

指定虛擬機的名稱。 這個 Cmdlet 會修改此參數所指定之虛擬機的擴充功能。

類型:String
別名:ResourceName
Position:1
預設值:None
必要:True
接受管線輸入:True
接受萬用字元:False

-WhatIf

顯示執行 Cmdlet 後會發生的情況。 未執行 Cmdlet。

類型:SwitchParameter
別名:wi
Position:Named
預設值:False
必要:False
接受管線輸入:False
接受萬用字元:False

輸入

String

Hashtable

SwitchParameter

輸出

PSAzureOperationResponse