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

Set-AzVMExtension

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

语法

Settings (默认值)

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

SettingString

Set-AzVMExtension
    [-ResourceGroupName] <String>
    [-VMName] <String>
    -Publisher <String>
    -ExtensionType <String>
    -Name <String>
    [-SettingString <String>]
    [-ProtectedSettingString <String>]
    [-EnableAutomaticUpgrade <Boolean>]
    [-AsJob]
    [-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
默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-Confirm

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

参数属性

类型:SwitchParameter
默认值:False
支持通配符:False
不显示:False
别名:cf

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-DefaultProfile

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

参数属性

类型:IAzureContextContainer
默认值:None
支持通配符:False
不显示:False
别名:AzContext, AzureRmContext, AzureCredential

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-DisableAutoUpgradeMinorVersion

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

参数属性

类型:SwitchParameter
默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):True
来自剩余参数的值:False

-EnableAutomaticUpgrade

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

参数属性

类型:

Nullable<T>[Boolean]

默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-ExtensionType

指定扩展类型。

参数属性

类型:String
默认值:None
支持通配符:False
不显示:False
别名:类型

参数集

(All)
Position:Named
必需:True
来自管道的值:False
来自管道的值(按属性名称):True
来自剩余参数的值:False

-ForceRerun

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

参数属性

类型:String
默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):True
来自剩余参数的值:False

-Location

指定虚拟机的位置。

参数属性

类型:String
默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):True
来自剩余参数的值:False

-Name

指定扩展的名称。

参数属性

类型:String
默认值:None
支持通配符:False
不显示:False
别名:ExtensionName

参数集

(All)
Position:Named
必需:True
来自管道的值:False
来自管道的值(按属性名称):True
来自剩余参数的值:False

-NoWait

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

参数属性

类型:SwitchParameter
默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-ProtectedSettings

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

参数属性

类型:Hashtable
默认值:None
支持通配符:False
不显示:False

参数集

Settings
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):True
来自剩余参数的值:False

-ProtectedSettingString

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

参数属性

类型:String
默认值:None
支持通配符:False
不显示:False

参数集

SettingString
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):True
来自剩余参数的值:False

-Publisher

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

参数属性

类型:String
默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:True
来自管道的值:False
来自管道的值(按属性名称):True
来自剩余参数的值:False

-ResourceGroupName

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

参数属性

类型:String
默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:0
必需:True
来自管道的值:False
来自管道的值(按属性名称):True
来自剩余参数的值:False

-Settings

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

参数属性

类型:Hashtable
默认值:None
支持通配符:False
不显示:False

参数集

Settings
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):True
来自剩余参数的值:False

-SettingString

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

参数属性

类型:String
默认值:None
支持通配符:False
不显示:False

参数集

SettingString
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):True
来自剩余参数的值:False

-TypeHandlerVersion

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

参数属性

类型:String
默认值:None
支持通配符:False
不显示:False
别名:HandlerVersion, 版本

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):True
来自剩余参数的值:False

-VMName

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

参数属性

类型:String
默认值:None
支持通配符:False
不显示:False
别名:资源名称

参数集

(All)
Position:1
必需:True
来自管道的值:False
来自管道的值(按属性名称):True
来自剩余参数的值:False

-WhatIf

显示 cmdlet 运行时会发生什么情况。 命令脚本未运行。

参数属性

类型:SwitchParameter
默认值:False
支持通配符:False
不显示:False
别名:无线

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

CommonParameters

此 cmdlet 支持通用参数:-Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction 和 -WarningVariable。 有关详细信息,请参阅 about_CommonParameters

输入

String

Hashtable

SwitchParameter

输出

PSAzureOperationResponse