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

如何使用PowerShell获取Azure NSG最低优先级并设置规则优先级

PowerShell实现Azure NSG规则优先级配置方案

前置依赖

  • 本地安装Azure Az.Network模块,执行命令Install-Module -Name Az.Network -Scope CurrentUser -Force完成安装
  • 执行Connect-AzAccount登录目标Azure账号,若NSG不在当前默认订阅,需执行Set-AzContext -SubscriptionId <目标订阅ID>切换到对应订阅上下文

核心逻辑

Azure NSG规则的优先级取值范围为100-4096,数值越大规则生效优先级越低,实现需求的核心步骤如下:

  • 拉取指定资源组下的目标NSG实例
  • 对NSG下所有安全规则按优先级字段倒序排序,取第一条即为当前优先级最低的规则
  • 基于最低优先级值计算待调整规则的目标优先级(建议预留数值间隔,避免同优先级冲突)
  • 定位到待修改的NSG规则,更新优先级属性后提交配置到Azure生效

可直接运行的脚本

# 替换为实际环境的参数值
$resourceGroupName = "替换为NSG所在资源组名称"
$nsgName = "替换为目标NSG名称"
$targetRuleName = "替换为需要调整优先级的规则名称"
$priorityOffset = 10 # 目标优先级与当前最低优先级的差值,避免同优先级冲突

# 获取NSG实例
$nsg = Get-AzNetworkSecurityGroup -ResourceGroupName $resourceGroupName -Name $nsgName
if (!$nsg) {
    throw "指定NSG不存在,请检查资源组名和NSG名配置"
}

# 查找当前优先级最低的规则
$lowestPriorityRule = $nsg.SecurityRules | Sort-Object Priority -Descending | Select-Object -First 1
if (!$lowestPriorityRule) {
    throw "当前NSG下未配置任何安全规则,无法参考优先级"
}
Write-Host "当前最低优先级规则:$($lowestPriorityRule.Name),优先级值:$($lowestPriorityRule.Priority)"

# 校验目标优先级合法性
$targetPriority = $lowestPriorityRule.Priority + $priorityOffset
if ($targetPriority -gt 4096) {
    throw "目标优先级计算值为$targetPriority,超出NSG规则最大允许优先级4096,请调整priorityOffset或清理冗余规则"
}

# 更新目标规则优先级
$targetRule = $nsg.SecurityRules | Where-Object Name -eq $targetRuleName
if (!$targetRule) {
    throw "NSG中未找到名为$targetRuleName的规则,请检查规则名称"
}
$targetRule.Priority = $targetPriority

# 提交配置生效
Set-AzNetworkSecurityGroup -NetworkSecurityGroup $nsg
Write-Host "配置已生效,规则$targetRuleName的当前优先级为:$targetPriority"

使用说明

  • 若需要让目标规则直接占用当前最低优先级值,将$priorityOffset设为0即可,注意操作前确认原最低优先级规则不会被保留,否则会触发同优先级报错
  • 正式执行提交操作前,可以注释掉Set-AzNetworkSecurityGroup相关代码,先运行脚本校验目标优先级计算结果是否符合预期,确认无误后再放开注释执行变更
  • 若需要批量调整多个规则,只需要在脚本中遍历目标规则列表,依次分配递增的优先级值即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 07:27:22