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

Set-AzVMExtension

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

语法

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

说明

Set-AzVMExtension cmdlet 更新现有虚拟机扩展的属性或向虚拟机添加扩展。

示例

示例 1:使用哈希表修改设置

$Settings = @{"fileUris" = "[]"; "commandToExecute" = ""};
$ProtectedSettings = @{"storageAccountName" = $stoname; "storageAccountKey" = $stokey};
Set-AzVMExtension -ResourceGroupName "ResourceGroup11" -Location "West US" -VMName "VirtualMachine22" -Name "ContosoTest" -Publisher "Contoso.Compute" -ExtensionType "CustomScriptExtension" -TypeHandlerVersion "1.1" -Settings $Settings -ProtectedSettings $ProtectedSettings;

前两个命令使用标准 Windows PowerShell 语法创建哈希表,然后将这些哈希表存储在$Settings和$ProtectedSettings变量中。 要了解详情,请键入 Get-Help about_Hash_Tables。 第二个命令包括以前创建并存储在变量中的两个值。 最后一个命令根据 $Settings 和 $ProtectedSettings 的内容修改 ResourceGroup11 中名为 VirtualMachine22 的虚拟机的扩展。 该命令指定包括发布服务器和扩展类型的其他必需信息。

示例 2:使用字符串修改设置

$SettingsString = '{"fileUris":[],"commandToExecute":""}';
$ProtectedSettingsString = '{"storageAccountName":"' + $stoname + '","storageAccountKey":"' + $stokey + '"}';
Set-AzVMExtension -ResourceGroupName "ResourceGroup11" -Location "West US" -VMName "VirtualMachine22" -Name "CustomScriptExtension" -Publisher "Contoso.Compute" -ExtensionType "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
别名:AzContext, AzureRmContext, AzureCredential
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-DisableAutoUpgradeMinorVersion

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

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-EnableAutomaticUpgrade

指示如果有较新版本的扩展可用,平台是否应自动升级扩展。

类型:Nullable<T>[Boolean]
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符: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
必需:True
接受管道输入:True
接受通配符:False

-NoWait

在操作完成之前立即启动操作并返回。 若要确定操作是否已成功完成,请使用一些其他机制。

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符: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