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 |