我希望自动配置和重新配置 Azure资源管理器Network Security Group的入站和出站安全规则。
所以我必须检查规则是否存在然后使用适当的
Add-AzureRmNetworkSecurityRuleConfig...
或
Set-AzureRmNetworkSecurityRuleConfig...
我的猜测是:
if (Get-AzureRmNetworkSecurityRuleConfig... )
但遗憾的是,如果命名规则尚不存在,则会抛出错误。
答案 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)