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

Update-AzVM

更新 Azure 虚拟机的状态。

语法

Update-AzVM
      [-ResourceGroupName] <String>
      -VM <PSVirtualMachine>
      [-Tag <Hashtable>]
      [-OsDiskWriteAccelerator <Boolean>]
      [-UltraSSDEnabled <Boolean>]
      [-MaxPrice <Double>]
      [-EncryptionAtHost <Boolean>]
      [-ProximityPlacementGroupId <String>]
      [-VirtualMachineScaleSetId <String>]
      [-HostId <String>]
      [-CapacityReservationGroupId <String>]
      [-AsJob]
      [-NoWait]
      [-UserData <String>]
      [-HibernationEnabled]
      [-vCPUCountAvailable <Int32>]
      [-vCPUCountPerCore <Int32>]
      [-SecurityType <String>]
      [-EnableVtpm <Boolean>]
      [-EnableSecureBoot <Boolean>]
      [-IfMatch <String>]
      [-IfNoneMatch <String>]
      [-DefaultProfile <IAzureContextContainer>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Update-AzVM
      [-ResourceGroupName] <String>
      -VM <PSVirtualMachine>
      [-Tag <Hashtable>]
      -IdentityType <ResourceIdentityType>
      [-IdentityId <String[]>]
      [-OsDiskWriteAccelerator <Boolean>]
      [-UltraSSDEnabled <Boolean>]
      [-MaxPrice <Double>]
      [-EncryptionAtHost <Boolean>]
      [-ProximityPlacementGroupId <String>]
      [-VirtualMachineScaleSetId <String>]
      [-HostId <String>]
      [-CapacityReservationGroupId <String>]
      [-AsJob]
      [-NoWait]
      [-UserData <String>]
      [-HibernationEnabled]
      [-vCPUCountAvailable <Int32>]
      [-vCPUCountPerCore <Int32>]
      [-SecurityType <String>]
      [-EnableVtpm <Boolean>]
      [-EnableSecureBoot <Boolean>]
      [-IfMatch <String>]
      [-IfNoneMatch <String>]
      [-DefaultProfile <IAzureContextContainer>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Update-AzVM
      [-Id] <String>
      -VM <PSVirtualMachine>
      [-Tag <Hashtable>]
      [-OsDiskWriteAccelerator <Boolean>]
      [-UltraSSDEnabled <Boolean>]
      [-MaxPrice <Double>]
      [-EncryptionAtHost <Boolean>]
      [-ProximityPlacementGroupId <String>]
      [-VirtualMachineScaleSetId <String>]
      [-HostId <String>]
      [-CapacityReservationGroupId <String>]
      [-AsJob]
      [-NoWait]
      [-UserData <String>]
      [-HibernationEnabled]
      [-vCPUCountAvailable <Int32>]
      [-vCPUCountPerCore <Int32>]
      [-SecurityType <String>]
      [-EnableVtpm <Boolean>]
      [-EnableSecureBoot <Boolean>]
      [-IfMatch <String>]
      [-IfNoneMatch <String>]
      [-DefaultProfile <IAzureContextContainer>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]

说明

Update-AzVM cmdlet 将 Azure 虚拟机的状态更新为虚拟机对象的状态。

示例

示例 1:更新虚拟机

Update-AzVM -ResourceGroupName "ResourceGroup11" -VM $VirtualMachine

此命令在 ResourceGroup11 中更新虚拟机$VirtualMachine。 该命令使用存储在$VirtualMachine变量中的虚拟机对象对其进行更新。 若要获取虚拟机对象,请使用 Get-AzVM cmdlet。

示例 2:更新虚拟机以禁用超线程。

$resourceGroupName = 'Resource Group Name>'
$vmname = 'Virtual Machine Name';
$domainNameLabel = "d1" + $rgname;
$vCPUsCoreInitial = 2;
$vCPUsAvailableInitial = 4;
$vCPUsCore1 = 1;
$vCPUsAvailable1 = 1;
$vmSize = 'Standard_D4s_v4';

$securePassword = ConvertTo-SecureString -String "****" -AsPlainText -Force;
$user = "user";
$cred = New-Object System.Management.Automation.PSCredential ($user, $securePassword);
$vm = New-AzVM -ResourceGroupName $rgname -Name $vmname -Credential $cred -DomainNameLabel $domainNameLabel -Size $vmSize -vCPUCountPerCore $vCPUsCoreInitial -vCPUCountAvailable $vCPUsAvailableInitial;
# The $vm.HardwareProfile.VmSizeProperties.VCPUsPerCore property is 2, and the $vm.HardwareProfile.VmSizeProperties.VCPUsAvailable property is 4.

Update-AzVM -ResourceGroupName $rgname -VM $vm -vCPUCountAvailable $vCPUsAvailable1 -vCPUCountPerCore $vCPUsCore1;
# The $vm.HardwareProfile.VmSizeProperties.VCPUsPerCore property is 1, and the $vm.HardwareProfile.VmSizeProperties.VCPUsAvailable property is 1. 
# Hyperthreading is now disabled for this VM.

参数

-AsJob

在后台运行 cmdlet 并返回作业以跟踪进度。

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

-CapacityReservationGroupId

用于分配的容量预留组的 ID。

类型:String
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

-EnableSecureBoot

指定是否应在虚拟机上启用安全启动。

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

-EnableVtpm

指定是否应在虚拟机上启用 vTPM。

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

-EncryptionAtHost

请求中的用户可以使用 EncryptionAtHost 属性来启用或禁用虚拟机或虚拟机规模集的主机加密。 这将为所有磁盘启用加密,包括主机本身的资源/临时磁盘。

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

-HibernationEnabled

在 VM 上启用或禁用休眠功能的标志。

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

-HostId

主机的 ID

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

-Id

指定虚拟机的资源 ID。

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

-IdentityId

指定与虚拟机关联的用户标识列表。 用户标识引用的格式为 ARM 资源 ID:“/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/identities/{identityName}”

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

-IdentityType

用于虚拟机的标识类型。 有效值为 SystemAssigned、UserAssigned、SystemAssignedUserAssigned 和 None。

类型:Nullable<T>[ResourceIdentityType]
接受的值:SystemAssigned, UserAssigned, SystemAssignedUserAssigned, None
Position:Named
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-IfMatch

用于为 PUT 和其他非安全方法发出请求条件。 仅当资源与列出的 ETag 值之一匹配时,服务器才会返回请求的资源。 省略此值以始终覆盖当前资源。 指定最后一次看到的 ETag 值,以防止意外覆盖并发更改。

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

-IfNoneMatch

用于为 GET 和 HEAD 方法发出请求条件。 仅当列出的 ETag 值与当前实体匹配时,服务器才会返回请求的资源。 用于为 GET 和 HEAD 方法发出请求条件。 仅当列出的 ETag 值与当前实体匹配时,服务器才会返回请求的资源。 设置为“*”以允许创建新记录集,但要防止更新现有记录集。 其他值将导致服务器出错,因为它们不受支持。

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

-MaxPrice

指定愿意为低优先级 VM/VMSS 付费的最高价格。 这个价格是美元。 此价格将与 VM 大小的当前低优先级价格进行比较。 此外,在创建/更新低优先级 VM/VMSS 时会比较价格,只有在 maxPrice 大于当前低优先级价格时,该操作才会成功。 如果当前低优先级价格超出创建 VM/VMSS 后 maxPrice,maxPrice 还用于逐出低优先级 VM/VMSS。 可能的值为:任何大于零的十进制值。 示例:0.01538。 -1 表示不应出于价格原因逐出低优先级 VM/VMSS。 此外,如果默认的最大价格不是由你提供,则为 -1。

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

-NoWait

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

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

-OsDiskWriteAccelerator

指定是否应在 OS 磁盘上启用或禁用 WriteAccelerator。

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

-ProximityPlacementGroupId

要用于此虚拟机的邻近放置组的资源 ID。

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

-ResourceGroupName

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

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

-SecurityType

指定虚拟机的 SecurityType。 必须将其设置为任何指定值才能启用 UefiSettings。 默认情况下,除非设置了此属性,否则不会启用 UefiSettings。

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

-Tag

指定可以使用一组名称值对标记资源和资源组。 将标记添加到资源后,可以跨资源组将资源组合在一起,并创建自己的视图。 每个资源或资源组最多可以有 15 个标记。

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

-UltraSSDEnabled

启用或禁用具有 VM 上UltraSSD_LRS存储帐户类型的一个或多个托管数据磁盘的功能的标志。 仅当启用此属性时,才能将存储帐户类型UltraSSD_LRS的托管磁盘添加到虚拟机。

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

-UserData

将进行 base-64 编码的 VM 的 UserData。 客户不应在此处传递任何机密。

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

-vCPUCountAvailable

指定可用于 VM 的 vCPU 数。 如果未在请求正文中指定此属性,则默认行为是将其设置为 API 响应 中公开的 VM 大小的 vCPU 值,以列出区域中所有可用的虚拟机大小。

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

-vCPUCountPerCore

指定 vCPU 与物理核心比率。 如果未在请求正文中指定此属性,则默认行为设置为 API 响应中公开的 VM 大小的 vCPUUsPerCore 值,以 列出区域中所有可用的虚拟机大小。 将此属性设置为 1 也意味着禁用超线程处理。

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

-VirtualMachineScaleSetId

应将虚拟机更新到的虚拟机 ScaleSet 的 ID。

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

-VM

指定本地虚拟机对象。 若要获取虚拟机对象,请使用 Get-AzVM cmdlet。 此虚拟机对象包含虚拟机的更新状态。

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

-WhatIf

显示运行该 cmdlet 时会发生什么情况。 cmdlet 未运行。

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

输入

String

PSVirtualMachine

Boolean

输出

PSAzureOperationResponse