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

使用Runbook编写PowerShell脚本自动启用所有Key Vault软删除

Azure Key Vault 自动启用软删除脚本

PowerShell 实现

先确保已安装Azure PowerShell模块并登录账号:

Connect-AzAccount

以下脚本会批量为指定订阅下的所有Key Vault启用软删除功能(仅处理未启用的实例):

# 可选:指定目标订阅ID,需切换订阅时取消注释
# $subscriptionId = "你的订阅ID"
# Set-AzContext -Subscription $subscriptionId

# 获取当前订阅下所有Key Vault
$keyVaults = Get-AzKeyVault

foreach ($kv in $keyVaults) {
    $kvDetails = Get-AzKeyVault -VaultName $kv.VaultName -ResourceGroupName $kv.ResourceGroupName
    if (-not $kvDetails.EnableSoftDelete) {
        # 启用软删除,保留天数可在1-90之间调整,默认90天
        Update-AzKeyVault -VaultName $kv.VaultName -ResourceGroupName $kv.ResourceGroupName -EnableSoftDelete $true -RetentionInDays 90
        Write-Host "已为Key Vault $($kv.VaultName) 启用软删除"
    } else {
        Write-Host "Key Vault $($kv.VaultName) 已启用软删除,无需操作"
    }
}

Azure CLI 实现

先登录Azure账号:

az login

批量处理脚本如下:

# 可选:指定目标订阅ID
# az account set --subscription "你的订阅ID"

# 获取当前订阅下所有Key Vault名称
key_vaults=$(az keyvault list --query "[].name" -o tsv)

for kv in $key_vaults; do
    soft_delete_status=$(az keyvault show --name $kv --query "properties.enableSoftDelete" -o tsv)
    if [ "$soft_delete_status" == "false" ]; then
        # 启用软删除,保留天数范围1-90,默认90天
        az keyvault update --name $kv --enable-soft-delete true --retention-days 90
        echo "已为Key Vault $kv 启用软删除"
    else
        echo "Key Vault $kv 已启用软删除,无需操作"
    fi
done

额外说明

  • 若只需处理特定资源组的Key Vault,可修改获取列表的命令:
    • PowerShell:Get-AzKeyVault -ResourceGroupName "你的资源组名"
    • CLI:az keyvault list --resource-group "你的资源组名"
  • 软删除保留天数可根据需求调整,取值范围为1到90天

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 20:45:35