Azure SQL Server防火墙规则使用PowerShell添加多个IP地址以实现数据库连接

时间:2019-05-15 13:51:48

标签: azure powershell azure-sql-database azure-powershell

如何使用IP addressesAzure 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 个答案:

答案 0 :(得分:0)

请尝试以下将当前客户端IP地址添加到Azure SQL防火墙白名单的PowerShell。您的管理员可以手动运行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
}