如何检查 AzureRmNetworkSecurityRuleConfig 是否存在?

How to check whether AzureRmNetworkSecurityRuleConfig exists?

我想自动配置和重新配置 Azure 资源管理器网络安全组的入站和出站安全规则。

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

Add-AzureRmNetworkSecurityRuleConfig...

Set-AzureRmNetworkSecurityRuleConfig...

我的猜测是:

if (Get-AzureRmNetworkSecurityRuleConfig... )

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

你可以使用这样的东西 -

$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 以指定您要检查的确切安全组。

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