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

如何使用PowerShell切换Azure Redis缓存的公网访问状态?

切换Azure Redis缓存公网访问状态的正确操作方法

问题背景

尝试通过Set-AzRedisCache、Get-AzResource及az resource update命令修改属性切换Azure Redis缓存公网访问状态,但无法找到对应属性或操作存在遗漏。

解决方案

方法1:使用Azure CLI的az redis update命令

直接通过Redis专属CLI命令修改,无需定位通用资源属性:

# 关闭公网访问
az redis update --name <你的Redis缓存名称> --resource-group <资源组名称> --set publicNetworkAccess=Disabled
# 开启公网访问
az redis update --name <你的Redis缓存名称> --resource-group <资源组名称> --set publicNetworkAccess=Enabled

方法2:使用PowerShell的Set-AzRedisCache命令

该命令支持直接指定公网访问状态参数:

# 关闭公网访问
Set-AzRedisCache -Name <你的Redis缓存名称> -ResourceGroupName <资源组名称> -PublicNetworkAccess Disabled
# 开启公网访问
Set-AzRedisCache -Name <你的Redis缓存名称> -ResourceGroupName <资源组名称> -PublicNetworkAccess Enabled

方法3:通过az resource update修改通用资源属性

使用通用资源更新命令时,需指定Redis的资源类型,并定位到正确的属性路径:

# 关闭公网访问
az resource update --resource-group <资源组名称> --name <你的Redis缓存名称> --resource-type "Microsoft.Cache/Redis" --set properties.publicNetworkAccess=Disabled

方法4:PowerShell中使用Invoke-AzRestMethod发起PATCH请求

若无法使用CLI或专属PowerShell命令,可通过REST API PATCH调用修改:

  1. 构造JSON格式的PATCH请求体:
[
  {
    "op": "replace",
    "path": "/properties/publicNetworkAccess",
    "value": "Disabled"
  }
]
  1. 执行PowerShell命令:
$resourceId = "/subscriptions/<订阅ID>/resourceGroups/<资源组名称>/providers/Microsoft.Cache/Redis/<你的Redis缓存名称>"
$patchBody = '[{"op":"replace","path":"/properties/publicNetworkAccess","value":"Disabled"}]'
Invoke-AzRestMethod -ResourceId $resourceId -Method PATCH -Payload $patchBody

若要开启公网访问,将请求体中的value改为Enabled即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 01:22:02