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

批量更新Azure多个存储账户网络配置的方法咨询

批量更新Azure存储账户的网络IP允许列表

针对你需要给70多个跨资源组的存储账户批量添加IP段的需求,推荐用Azure PowerShell或Azure CLI自动化操作,比手动逐个修改高效得多,具体步骤如下:

方法一:Azure PowerShell

  1. 打开PowerShell并登录Azure账户:
Connect-AzAccount
  1. 定义需要添加的新IP段(替换成你的目标IP段):
$newIpRange = "192.168.1.0/24"
  1. 获取所有存储账户,遍历并添加IP段(自动跳过已包含该IP的账户):
$storageAccounts = Get-AzStorageAccount

foreach ($sa in $storageAccounts) {
    $networkRule = Get-AzStorageAccountNetworkRuleSet -ResourceGroupName $sa.ResourceGroupName -AccountName $sa.StorageAccountName
    if ($networkRule.IpRules.Value -notcontains $newIpRange) {
        Add-AzStorageAccountNetworkRule -ResourceGroupName $sa.ResourceGroupName -AccountName $sa.StorageAccountName -IpAddressOrRange $newIpRange
        Write-Host "已更新存储账户: $($sa.StorageAccountName)"
    } else {
        Write-Host "存储账户 $($sa.StorageAccountName) 已包含该IP段,跳过"
    }
}

如果只想操作特定资源组的存储账户,修改获取账户的命令即可:

$storageAccounts = Get-AzStorageAccount -ResourceGroupName "你的资源组名称"

方法二:Azure CLI

  1. 打开终端并登录Azure:
az login
  1. 定义目标IP段:
new_ip_range="192.168.1.0/24"
  1. 批量遍历所有存储账户并添加IP段:
az storage account list --query "[].{name:name, resourceGroup:resourceGroup}" --output tsv | while read -r sa_name rg_name; do
    current_ips=$(az storage account network-rule list --account-name $sa_name --resource-group $rg_name --query "[].ipAddressOrRange" --output tsv)
    if ! echo "$current_ips" | grep -q "$new_ip_range"; then
        az storage account network-rule add --account-name $sa_name --resource-group $rg_name --ip-address $new_ip_range
        echo "已更新存储账户: $sa_name"
    else
        echo "存储账户 $sa_name 已包含该IP段,跳过"
    fi
done

注意事项

  • 执行前建议先找一个测试存储账户单独验证命令,确保效果符合预期
  • 操作账户需要拥有Storage Account Contributor及以上权限
  • 脚本会自动跳过已包含目标IP段的账户,不会重复添加

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 18:12:09