你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Set-AzureRmVMExtension
更新扩展属性或向虚拟机添加扩展。
警告
AzureRM PowerShell 模块已自 2024 年 2 月 29 日起正式弃用。 为了确保持续获得支持和更新,建议用户从 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>]
说明
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 |