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



如何使用PowerShell将多个IP addresses添加到Azure SQL Server因此,多个管理员可以使用SSMS从计算机上连接到数据库。它可以通过门户进行,但是我们已经关闭了该路线,并且一切都是通过PowerShell

完成的。

我有这个代码,但我认为它不符合我们的要求。

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

例如

管理员1 ipaddress-1:158。****

管理员2 ipaddress-2:196。****

请尝试以下powerShell,将当前客户端IP地址添加到Azure SQL Firewall White列表中。您的管理员可以手动运行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 'bd{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
}

最新更新