如何检查AzureRmNetworkSecurityRuleConfig是否存在?

时间:2016-03-07 10:20:38

标签: azure azure-powershell azure-resource-manager

我希望自动配置和重新配置 Azure资源管理器Network Security Group的入站和出站安全规则。

所以我必须检查规则是否存在然后使用适当的

Add-AzureRmNetworkSecurityRuleConfig...

Set-AzureRmNetworkSecurityRuleConfig...

我的猜测是:

if (Get-AzureRmNetworkSecurityRuleConfig... )

但遗憾的是,如果命名规则尚不存在,则会抛出错误。

1 个答案:

答案 0 :(得分:1)

你可以使用这样的东西 -

$rg = Get-AzureRmNetworkSecurityGroup
$rules = Get-AzureRmNetworkSecurityRuleConfig -NetworkSecurityGroup $rg 

foreach ($rule in $rules)
{

    if ($rule.name  -like "RDP1")
    {
        "rule exist" 
    } else {
        "rule not exist" 
    }

}

显然你会换掉" RDP"无论您需要什么规则名称。但是,对于该规则是否存在于该安全组中,这将给出一个真/假。

您可以过滤Get-AzureRmNetworkSecurityGroup以指定要检查的确切安全组。

而不是$ rule.Name你可以使用任何其他参数(或多个)来缩小选择范围(例如destinationPortRange)