azure - Azure SQL Server 防火墙规则使用 PowerShell 添加多个 IP 地址以进行数据库连接
问题描述
如何将多个添加 IP addresses
到Azure SQL Server
usingPowerShell
以便多个管理员可以使用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 防火墙白名单。您的管理员可以手动运行 PowerShell,也可以安排可以在计算机启动时运行 PowerShell 的 Windows 计划任务。
$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
}
推荐阅读
- sql - 有什么方法可以使用 IN 和 COUNT 重写此查询?
- google-api - 将范围限制为 Google 服务帐户的 Google Auth JWT 客户端中的单个文件
- sql - 如何将列数据透视到不能超过最大总数的行?
- java - Problem with: "Variable used as a try-with-resources resource should be final or effectively final"
- javascript - JS图片转base64返回字符串
- reactjs - ReactJS 中的 Antd 自定义主题,不使用 .less
- javascript - 使用下拉按钮进行计算并将值放入公式
- docker - Strongswan IPSEC IKE 与 Docker 网络子网
- r - 将具有用逗号分隔的多个值的列的数据框写入文本文件
- python-3.x - 返回 nan 的逻辑回归成本函数