Добавление правил брандмауэра с IP-адресами для серверов PAAS с помощью Powershell - PullRequest
1 голос
/ 21 марта 2019

У меня есть среда Azure, и я должен добавить правило брандмауэра на все серверы Pass для разных подписок. Имя сервера и группы ресурсов различны для всех подписок. Например: Enterprise \ dev Subscription.

Server              RESOURCE GROUP           SUBSCRIPTION
caddvsql11           DwDvRg01                Enterprise Dev/Test
caduasql11           DwUtRg01                Enterprise Dev/Test
cmspcsql01          CmsPcRg01                Enterprise Dev/Test
quomosql11          QuoMoRg11                Enterprise Dev/Test



Set-AzureRmContext  "Enterprise\dev " 

new-AzureRmSqlServerFirewallRule -ResourceGroupName "DwDvRg01" -ServerName "caddvsql11" -FirewallRuleName "SAM_HOME" -StartIpAddress "22.7.180.91"
-EndIpAddress "22.7.180.91"

Я могу добавить IP-адрес с помощью этого запроса для одного сервера. Но мне нужно добавить имя правила брандмауэра и IP-адрес на всех серверах Paas в Azure, имеющих разные группы серверов и ресурсов. Может кто-нибудь, пожалуйста, помогите мне в этом.

Ответы [ 2 ]

0 голосов
/ 22 марта 2019

Вы можете создать простой CSV-файл со всеми необходимыми входными данными, а затем использовать команду Import-csv .

Вот краткий пример CSV-файла и сценария. Вы можете добавитьлюбые другие столбцы, которые вам нужны, и используйте значения в соответствующих командах.

enter image description here

foreach($rule in import-csv "E:\firewallrules.csv") 
{ 
   Write-Host "Processing item with.. Server="$rule.Server "Resource Group ="$rule.ResourceGroup "Subscription="$rule.Subscription

   # Make use of variables like $rule.Server and so on in your commands here..
}
0 голосов
/ 22 марта 2019

Set-AzureRmContext является более старой версией.Существует миграция на новые командлеты Az для Cloud Shell .

Если все группы ресурсов находятся под одним и тем же идентификатором подписки, то используемый вами сценарий может быть расширен для включения правила брандмауэра востальные три сервера.

Если все они находятся в отдельных подписках, вам нужно будет включить командлет ( Connect-AzAccount ), а затем использовать Set-AzContext Командлет для переключения между подписками.

Если вы подключаетесь через сеанс Cloud Shell через портал Azure, вы можете использовать Set-AzContext для переключения между подписками.Командлет Connect-AzAccount необходим, если вы работаете в среде рабочего стола и вам необходимо сначала выполнить аутентификацию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...