你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Set-AzureRmVMExtension

更新扩展属性或向虚拟机添加扩展。

重要

由于 Az PowerShell 模块现在已具有 AzureRM PowerShell 模块的所有功能及更多功能,因此我们将于 2024 年 2 月 29 日停用 AzureRM PowerShell 模块。

若要避免服务中断,请更新脚本,在 2024 年 2 月 29 日结束之前将使用 AzureRM PowerShell 模块的脚本更新为使用 Az PowerShell 模块。 若要自动更新脚本,请按照快速入门指南操作。

语法

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变量中。 最后一个命令根据 resourceGroup11 中名为 VirtualMachine22 的虚拟机的内容修改了$SettingsString和$ProtectedSettingsString的扩展。 该命令指定包括发布服务器和扩展类型的其他必需信息。

参数

-AsJob

在后台运行 cmdlet

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

-Confirm

提示你在运行 cmdlet 之前进行确认。

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

-DefaultProfile

用于与 Azure 通信的凭据、帐户、租户和订阅。

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

-DisableAutoUpgradeMinorVersion

指示此 cmdlet 会阻止 Azure 来宾代理将扩展自动更新到较新的次要版本。 默认情况下,此 cmdlet 使来宾代理能够更新扩展。

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

-ExtensionType

指定扩展类型。

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

-ForceRerun

指示此 cmdlet 强制重新运行虚拟机上的相同扩展配置,而无需卸载并重新安装该扩展。 该值可以是与当前值不同的任何字符串。 如果未更改 forceUpdateTag,则处理程序仍会应用对公共或受保护设置的更新。

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

-Location

指定虚拟机的位置。

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

-Name

指定扩展的名称。

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

-ProtectedSettings

将扩展的专用配置指定为哈希表。 此 cmdlet 加密专用配置。

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

-ProtectedSettingString

将扩展的专用配置指定为字符串。 此 cmdlet 加密专用配置。

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

-Publisher

指定扩展发布者的名称。 发布者在注册扩展时提供名称。

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

-ResourceGroupName

指定虚拟机的资源组的名称。

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

-Settings

将扩展的公共配置指定为哈希表。 此 cmdlet 不加密公共配置。

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

-SettingString

将扩展的公共配置指定为字符串。 此 cmdlet 不加密公共配置。

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

-TypeHandlerVersion

指定要用于此虚拟机的扩展版本。

Type:String
Aliases:HandlerVersion, Version
Position:Named
Default value:None
Accept pipeline input:True
Accept wildcard characters:False

-VMName

指定虚拟机的名称。 此 cmdlet 修改此参数所指定的虚拟机的扩展。

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

-WhatIf

显示在此 cmdlet 运行的情况下将会发生什么。 此 cmdlet 未运行。

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

输入

String

Hashtable

SwitchParameter

输出

PSAzureOperationResponse