2016-03-07 4 views
0

Я хотел бы автоматизировать настройку и реконфигурировать Azure менеджер ресурсов безопасности и безопасности входящей и исходящей безопасности группы безопасности.Как проверить, существует ли AzureRmNetworkSecurityRuleConfig?

Так что я должен проверить, если правило существует, то с помощью соответствующих

Add-AzureRmNetworkSecurityRuleConfig... 

или

Set-AzureRmNetworkSecurityRuleConfig... 

Моя догадка:

if (Get-AzureRmNetworkSecurityRuleConfig...) 

но, к сожалению, бросает ошибку в case названное правило еще не существует.

+0

Как мысли никому находя это позже, вы можете поместить 'Get-AzureRmNetworkSecurityRuleConfig 'в блоке' try' и 'catch' исключение - иногда это проще сделать, чем иметь целый блок кода. –

+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» по какому-то правилу имя вам нужно. Но это даст вам true/false для того, существует ли это правило в этой группе безопасности.

Вы можете отфильтровать Get-AzureRmNetworkSecurityGroup, чтобы указать точную группу безопасности, которую вы хотите проверить.

И вместо $ rule.Name вы можете использовать любой другой параметр (или несколько), чтобы сузить выбор (destinationPortRange, например)

+0

Спасибо за идею. Я понял и испытал это. Я скажу 4 правила, затем он возвращает false, false, false, false, если шаблон вообще не существует, а false, false, false, true, если шаблон существует. Однако использование этого условия в условии if (...) всегда равно true. Очевидно, что у меня нет общего знания PowerShell, но я понятия не имею, как его использовать в if (...) –

+0

Я создал чат! Я подозреваю, что это может стать слишком частым для комментариев! - http://chat.stackoverflow.com/rooms/105550/get-azurermnetworksecurityruleconfig –

Смежные вопросы