如何检查 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
我想自动配置和重新配置 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