Правило брандмауэра Azure SQL Server добавляет несколько IP-адресов с помощью PowerShell для подключения к базе данных - PullRequest
1 голос
/ 15 мая 2019

Как добавить несколько IP addresses к Azure SQL Server, используя PowerShell так что несколько администраторов могут подключаться к базе данных со своих компьютеров, используя SSMS. Это можно сделать через портал, но мы закрыли этот маршрут, и все делается через PowerShell

У меня есть этот код, но я думаю, что он не соответствует нашим требованиям.

 $ServerFirewallRule = New-AzSqlServerFirewallRule -ResourceGroupName $ResourceGroupName `
    -ServerName $ServerName `
    -FirewallRuleName "AllowedIPs" -StartIpAddress $StartIp -EndIpAddress $EndIp

например

admin 1 ipaddress-1: 158. ****

admin 2 ipaddress-2: 196. ****

1 Ответ

1 голос
/ 15 мая 2019

Попробуйте использовать следующую оболочку PowerShell, которая добавляет текущий IP-адрес клиента в белый список брандмауэра SQL Azure. Администраторы могут запускать PowerShell вручную или планировать задачу по расписанию Windows, которая может запускать PowerShell при запуске компьютера.

$subscriptionName = 'Your Subscription'
$ipGetCommand = 'http://www.iplocation.net/find-ip-address' 
$firewallRule = 'My-Home'
$serverName = "Your Server Name";
$webclient = New-Object System.Net.WebClient
$queryResult = $webclient.DownloadString($ipGetCommand)
$queryResult -match '\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b'
$currentPublicIp = $($matches[0])

Select-AzureSubscription -SubscriptionName $subscriptionName



If ((Get-AzureSqlDatabaseServerFirewallRule -ServerName $serverName -RuleName $firewallRule) -eq $null) {
    New-AzureSqlDatabaseServerFirewallRule -ServerName $serverName -RuleName $firewallRule -StartIpAddress $currentPublicIp -EndIpAddress $currentPublicIp
}
else {
    Set-AzureSqlDatabaseServerFirewallRule -ServerName $serverName -RuleName $firewallRule -StartIpAddress $currentPublicIp -EndIpAddress $currentPublicIp
}
...