无法通过PowerShell删除NSG规则

时间:2018-06-12 11:59:16

标签: powershell azure-automation

我正在尝试创建Runbook,以通过Azure自动化Runbook删除对特定NSG组的任何添加。

为了做到这一点,我有以下脚本:

$nsg_item = Get-AzureRmNetworkSecurityGroup -Name  $NSG -ResourceGroupName $ResourceGroupName
Write-Output ("NSG content before removal: " + $nsg_item)
Remove-AzureRmNetworkSecurityRuleConfig -Name $rule -NetworkSecurityGroup $nsg_item

执行此操作时,Runbook执行时没有任何问题,脚本的输出显示该规则已被删除 来自NSG。

之前:

  

SecurityRules:{Port_443,default-allow-ssh,Port_8080

后:

  

SecurityRules:{Port_443,default-allow-ssh}

但是,如果我继续使用相关的NSG,则该规则仍然存在并启用。我尝试通过Azure中的Powershell CLI运行相同的脚本,同样的事情发生。

知道可能是什么问题吗?

1 个答案:

答案 0 :(得分:2)

您需要将结果传递给Set-AzureRmNetworkSecurityGroup cmdlet:

Remove-AzureRmNetworkSecurityRuleConfig -Name $rule -NetworkSecurityGroup $nsg_item | Set-AzureRmNetworkSecurityGroup