You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用PowerShell脚本启用Azure预留实例自动续订的技术求助

Azure预留实例自动续订PowerShell脚本及配置步骤

问题分析

你之前的脚本失效,核心原因是Set-AzReservation cmdlet并不支持直接通过-Renew参数启用自动续订,Azure预留实例的自动续订需要通过更新预留的属性配置来实现。

可用脚本示例

以下是可批量检查并启用所有预留实例自动续订的PowerShell脚本:

# 登录Azure账户(未登录时执行)
Connect-AzAccount

# 获取当前订阅下的所有预留实例
$reservations = Get-AzReservation

foreach ($reservation in $reservations) {
    $reservationId = $reservation.Id
    $reservationName = $reservation.Name

    # 获取预留实例的详细配置,包含自动续订状态
    $reservationDetails = Get-AzReservation -ReservationId $reservationId
    $currentAutoRenew = $reservationDetails.Properties.RenewProperties.IsAutoRenew

    if ($currentAutoRenew -eq $true) {
        Write-Host "[$reservationName] 自动续订已启用,无需操作"
        continue
    }

    # 构建自动续订配置
    $renewConfig = @{
        IsAutoRenew = $true
        # 可选:自定义续订期限,默认与原预留一致,可选值为P1Y(1年)/P3Y(3年)
        # Term = "P1Y"
    }

    # 更新预留实例的自动续订设置
    try {
        Set-AzReservation -ReservationId $reservationId -Properties $renewConfig
        Write-Host "[$reservationName] 自动续订已成功启用"
    }
    catch {
        Write-Host "[$reservationName] 启用自动续订失败:$($_.Exception.Message)"
    }
}

使用步骤

  • 步骤1:安装并导入Azure预留模块
    确保已安装最新版Az.Reservations模块:
    Install-Module -Name Az.Reservations -Force -AllowClobber
    Import-Module Az.Reservations
    
  • 步骤2:登录Azure账户
    运行Connect-AzAccount,按提示完成登录,确保账户拥有Reservation Contributor或更高权限。
  • 步骤3:执行脚本
    直接运行上述脚本,脚本会自动遍历所有预留实例,检查并启用自动续订。
  • 步骤4:验证配置结果
    可通过以下命令查看所有预留的自动续订状态:
    Get-AzReservation | Select-Object Name, @{Name="AutoRenewStatus"; Expression={$_.Properties.RenewProperties.IsAutoRenew}}
    

注意事项

  • 自动续订默认沿用原预留的计费方式、实例数量和期限,如需修改可在$renewConfig中添加对应参数。
  • 跨订阅操作需先切换目标订阅:Set-AzContext -SubscriptionId <目标订阅ID>。
  • 若遇到权限报错,需检查账户是否被授予对应订阅的预留管理权限。

内容的提问来源于stack exchange,提问作者niket singh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 23:20:01